Почему Chrome пропускает проверку численности? - PullRequest
0 голосов
/ 13 марта 2012

У меня есть подтверждение:

validates :year, :presence => true, :numericality => { :only_integer => true }, :uniqueness => true

Это прекрасно работает в Firefox, но в Chrome проверка чисел не работает. Если я пишу 23ab сохраняется как 23 и не показывает ошибок. Может быть из-за тега типа ввода номера HTML5?

1 Ответ

1 голос
/ 13 марта 2012

Проверьте параметры, фактически полученные вашим действием (т. Е. Проверьте development.log), и опубликуйте информацию о том, что на самом деле отправляется на ваш контроллер, в хэш params.

Проверка в моделипроисходит на стороне сервера после того, как браузер передал данные формы, прежде чем они будут сохранены / обновлены в базе данных.Таким образом, если один и тот же ввод из двух разных браузеров дает разные результаты проверки, то он, вероятно, изменяется браузером до того, как он будет получен действием контроллера.

Сказать это иначе: это не проверка, котораяпропускается, изменяются входные данные, по крайней мере, наиболее вероятно.Посмотрите, что на самом деле происходит с вашим params хешем, и вы будете на полпути домой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...