Ped*_*der 5 activerecord ruby-on-rails-3
在Rails 3.1中使用has_secure_password时,如何要求密码具有最小长度?我试着这样做:
class User < ActiveRecord::Base
...
validates :password, presence: { on: create }, length { minimum: 8 }
...
end
Run Code Online (Sandbox Code Playgroud)
但是当表格参数中没有提供密码时,验证失败,密码"太短".对于其他属性,仅在提供字段的值时才会验证长度.这是has_secure_password实现中的错误还是我做错了什么?
你应该做类似的事情:
validates :password, presence: { on: create }, length { minimum: 8 }, :if => :password_changed?
Run Code Online (Sandbox Code Playgroud)