tin*_*tin 0 ruby ruby-on-rails ruby-on-rails-4
我不知道为什么,但我遇到了一个简单的问题.我有一个简单的用户模型,我已经对其中一个字段进行了简单的验证,即存在的用户名及其长度.
以下是代码:
user.rb
class User < ActiveRecord::Base
validates :username, presence: true, length: { minumum: 3, maximum: 25 }
end
Run Code Online (Sandbox Code Playgroud)
因此,
user = User.new(username: 'hi')
user.save
Run Code Online (Sandbox Code Playgroud)
必须以用户名的长度失败(即根据给定的验证而言太短).但在我的情况下,它保存没有任何错误.目前,只有当用户名为空时才会出错,但不会给出最小长度的错误.注意:我已经重装了!我的rails控制台
你拼错了最小:)尝试这个:
class User < ActiveRecord::Base
validates :username, presence: true, length: { minimum: 3, maximum: 25 }
end
Run Code Online (Sandbox Code Playgroud)
另外,回答:下面的答案,这直接来自RailsGuides for Active Record Validations:
class Essay < ActiveRecord::Base
validates :content, length: {
minimum: 300,
maximum: 400,
tokenizer: lambda { |str| str.split(/\s+/) },
too_short: "must have at least %{count} words",
too_long: "must have at most %{count} words"
}
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1185 次 |
| 最近记录: |