mirror of
https://github.com/heartcombo/simple_form.git
synced 2022-11-09 12:19:26 -05:00
handle validates_length_of :is option
This commit is contained in:
parent
45c3dfc04d
commit
e39e0e54cb
5 changed files with 9 additions and 1 deletions
|
@ -12,7 +12,7 @@ module SimpleForm
|
||||||
def maximum_length_from_validation
|
def maximum_length_from_validation
|
||||||
if options[:maxlength] == true
|
if options[:maxlength] == true
|
||||||
if (length_validator = find_length_validator) && !length_validator.options[:tokenizer]
|
if (length_validator = find_length_validator) && !length_validator.options[:tokenizer]
|
||||||
length_validator.options[:maximum]
|
length_validator.options[:is] || length_validator.options[:maximum]
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
options[:maxlength]
|
options[:maxlength]
|
||||||
|
|
|
@ -11,6 +11,7 @@ class ErrorNotificationTest < ActionView::TestCase
|
||||||
|
|
||||||
test 'error notification is not generated when the object has no error' do
|
test 'error notification is not generated when the object has no error' do
|
||||||
assert @validating_user.valid?
|
assert @validating_user.valid?
|
||||||
|
|
||||||
with_error_notification_for @validating_user
|
with_error_notification_for @validating_user
|
||||||
assert_no_select 'p.error_notification'
|
assert_no_select 'p.error_notification'
|
||||||
end
|
end
|
||||||
|
|
|
@ -52,6 +52,11 @@ class StringInputTest < ActionView::TestCase
|
||||||
assert_no_select 'input.string[maxlength]'
|
assert_no_select 'input.string[maxlength]'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test 'input should get maxlength from validation when :is option present' do
|
||||||
|
with_input_for @validating_user, :home_picture, :string
|
||||||
|
assert_select 'input.string[maxlength=12]'
|
||||||
|
end
|
||||||
|
|
||||||
test 'input should not generate placeholder by default' do
|
test 'input should not generate placeholder by default' do
|
||||||
with_input_for @user, :name, :string
|
with_input_for @user, :name, :string
|
||||||
assert_no_select 'input[placeholder]'
|
assert_no_select 'input[placeholder]'
|
||||||
|
|
|
@ -156,6 +156,7 @@ class ValidatingUser < User
|
||||||
validates_length_of :name, :maximum => 25
|
validates_length_of :name, :maximum => 25
|
||||||
validates_length_of :description, :maximum => 50
|
validates_length_of :description, :maximum => 50
|
||||||
validates_length_of :action, :maximum => 10, :tokenizer => lambda { |str| str.scan(/\w+/) }
|
validates_length_of :action, :maximum => 10, :tokenizer => lambda { |str| str.scan(/\w+/) }
|
||||||
|
validates_length_of :home_picture, :is => 12
|
||||||
|
|
||||||
def min_amount
|
def min_amount
|
||||||
10
|
10
|
||||||
|
|
|
@ -62,6 +62,7 @@ class ActionView::TestCase
|
||||||
:id => 1,
|
:id => 1,
|
||||||
:name => 'New in Simple Form!',
|
:name => 'New in Simple Form!',
|
||||||
:description => 'Hello!',
|
:description => 'Hello!',
|
||||||
|
:home_picture => 'Home picture',
|
||||||
:created_at => Time.now,
|
:created_at => Time.now,
|
||||||
:age => 19,
|
:age => 19,
|
||||||
:amount => 15,
|
:amount => 15,
|
||||||
|
|
Loading…
Reference in a new issue