Rails: validates_length_of:allow_nil не допускает nil

#ruby-on-rails #validation #null

#ruby-on-rails #проверка #null

Вопрос:

Использование: Rails 3.0.3.

Я использую этот код в валидаторе:

 validates_length_of :birth_date_8, :minimum => 8, :allow_nil => true, :message => "value_is_not_a_proper_date", :if =>:family_birthday? 
  

Однако это не позволяет полю быть нулевым. Я проверил, так что дело не :if => :family_birthday? в том, что это все портит.

Что-то не так с кодом?

Комментарии:

1. Попробуйте allow_blank вместо allow_nil — и если это не поможет, я бы использовал validates_format и сопоставил регулярное выражение — некоторые проверки rails просто не принимают allow_nil, и это не очень хорошо документировано

2. Спасибо. Allow_nil сделал свое дело. Напишите это как ответ, и я могу отдать вам должное за это!

Ответ №1:

Попробуйте allow_blank вместо allow_nil 🙂

Комментарии:

1. Рекомендуется добавлять обратные галочки вокруг «языковых» (ключевых) слов. Я отредактировал их для вас.