Sha256: a5b7baf0afe27c51614bcd8b0fb76a998c2384b43ab9464b1117b2b27d4d10fa
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
require 'simple_form_with_client_validation/core_ext/regexp' module SimpleFormWithClientValidation module Components # Needs to be enabled in order to do automatic lookups. module Pattern def pattern input_html_options[:pattern] ||= pattern_source input_html_options[:'data-pattern'] = input_html_options[:pattern] input_html_options[:'data-pattern-message'] = options[:'data-pattern-message'] || pattern_error_message nil end private def pattern_error_message pattern_error = options[:'data-pattern-message'] if pattern_error.is_a?(String) pattern_error elsif pattern_validator = find_pattern_validator if pattern_validator.options.has_key?(:message) pattern_validator.options[:message] else "" end end end def pattern_source pattern = options[:pattern] if pattern.is_a?(String) pattern elsif pattern_validator = find_pattern_validator pattern = evaluate_format_validator_option(pattern_validator.options[:with]).to_javascript pattern.slice(1,pattern.length-2) end end def find_pattern_validator find_validator(ActiveModel::Validations::FormatValidator) end def evaluate_format_validator_option(option) if option.respond_to?(:call) option.call(object) else option end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simple_form_with_client_validation-0.0.2 | lib/simple_form_with_client_validation/components/pattern.rb |