Class: Formbuilder::ResponseFieldEmail

Inherits:
ResponseField
  • Object
show all
Includes:
ActionView::Helpers::TagHelper
Defined in:
app/models/formbuilder/response_field_email.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, #search_type, #serialized, #sort_as_numeric

Instance Method Summary collapse

Methods inherited from ResponseField

#audit_response, #before_response_destroyed, #has_length_validations?, #length_validations, #max, #maxlength, #min, #min_max_length_units, #min_max_validations, #minlength, #normalize_response, #options_array, #sortable_value, #transform_raw_value

Instance Method Details

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



23
24
25
# File 'app/models/formbuilder/response_field_email.rb', line 23

def render_entry(value, opts = {})
  "<a href='mailto:#{value}'>#{value}</a>"
end

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



27
28
29
# File 'app/models/formbuilder/response_field_email.rb', line 27

def render_entry_text(value, opts = {})
  value
end

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



11
12
13
14
15
16
17
18
19
20
21
# File 'app/models/formbuilder/response_field_email.rb', line 11

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

#validate_response(value) ⇒ Object



31
32
33
34
35
# File 'app/models/formbuilder/response_field_email.rb', line 31

def validate_response(value)
  unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
    "isn't a valid email address."
  end
end