3

我正在尝试向 中添加长度验证password,但它总是出现“密码太短”错误。

a = Artist.new(artist_name: 'Dylan', email: 'dylan@example.com', password: 'notshort')
p a.errors.full_messages  # ["Password is too short (minimum is 6 characters)"]
a = Artist.new(artist_name: 'Dylan', email: 'dylan@example.com', password: 'short')
p a.errors.full_messages  # ["Password is too short (minimum is 6 characters)"]

在我的模型中

has_secure_password
validates_length_of :password, minimum: 6

如果我将验证更改为

validates_length_of :password, minimum: 6, allow_blank: true

密码通过notshort了,但short.

4

2 回答 2

4

我也在使用 Bcrypt。这似乎对我有用:

has_secure_password
validates :password, length: { minimum: 6, maximum: 20 }, on: :create
于 2015-10-23T01:18:40.490 回答
0

而不是validates_length_of,尝试validates像这样使用:

validates :password, length: { minimum: 6 }

于 2014-07-16T08:27:10.670 回答