Class: Formbuilder::ResponseFieldWebsite

Inherits:
ResponseField
  • Object
show all
Includes:
ActionView::Helpers::TagHelper
Defined in:
app/models/formbuilder/response_field_website.rb

Constant Summary

Constants inherited from ResponseField

Formbuilder::ResponseField::ALLOWED_PARAMS

Instance Attribute Summary

Attributes inherited from ResponseField

#cid, #field_type, #input_field, #options_field, #serialized, #sort_as_numeric

Instance Method Summary collapse

Methods inherited from ResponseField

#audit_response, #has_length_validations?, #length_validations, #min_max_validations, #render_entry_for_table

Instance Method Details

#render_entry(value, opts = {}) ⇒ Object



15
16
17
# File 'app/models/formbuilder/response_field_website.rb', line 15

def render_entry(value, opts = {})
  "<a href='#{value}' target='_blank' rel='nofollow'>#{value}</a>"
end

#render_input(value, opts = {}) ⇒ Object



10
11
12
13
# File 'app/models/formbuilder/response_field_website.rb', line 10

def render_input(value, opts = {})
  tag(:input, type: 'text', name: "response_fields[#{self.id}]", class: "rf-size-#{self[:field_options]['size']}",
      value: value, placeholder: 'http://')
end

#validate_response(value) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'app/models/formbuilder/response_field_website.rb', line 19

def validate_response(value)
  require 'uri'

  # add http if not present
  value = "http://#{value}" unless value[/^http:\/\//] || value[/^https:\/\//]

  if !(value =~ URI::regexp) # this doesn't really validate, since almost *anything* matches
    "isn't a valid URL."
  end
end