У меня есть страница регистрации пользователя. Я хочу, чтобы пароль пользователя составлял от 4 до 16 символов. Мне нужно проверить, что у них есть хотя бы одна заглавная буква и 1 цифра. Чем я делаю md5 хэш этого пароля и помещаю его в базу данных.
Как это проверить?
Validation в модельных испытаниях, если пароль 32symbols длина:Правильный способ проверки пароля
validates :password, :length => { :minimum => 32 ,
:message => 'Not an md5 password provided.' }
Но как я проверить, что пароль соответствует моим требованиям, прежде чем сделать хэш его и установить соответствующие ошибки для этой проверки?
Я бы хотел, чтобы пользователь user.errors [: password] содержал что-то вроде «Должен иметь хотя бы одну цифру». и «Должен иметь хотя бы одну заглавную букву».
В идеале, вы бы предоставить пароль к модели, которая бы хэширования его для вас и освободить звонящего, чтобы иметь хэш собственные пароли (или последствия забывания). Но я не уверен, как вы это сделаете с помощью ActiveRecord. – cHao