在 Rails 3 中,我想查看属性的值是否使用模型的validates
选项有效,而无需尝试保存或创建。
我正在编写 AJAX API 的后端,它应该检查用户名
validates :username, :length => {:minimum => 2, :maximum => 50}, :exclusion => {:in => RESERVED_USERNAMES}, :format => MY_REGEX, .etc
在用户模型中。这是在注册表单中的用户名字段旁边创建一个小勾号或交叉,因此用户不必等待查看用户名是否被使用。
我可以将它与正则表达式进行比较,但为了保持我的代码干燥,我认为在用户模型中使用验证会更好。
任何人都知道我该如何做以下事情:
username = params[:username]
if User.not_found(:username => username) && User.validate(:username => username)
#yay!
else
#nope
end
(我已经有not_found
工作了)。