2011-02-28 71 views
0

在我的应用程序中,我允许用户创建句柄。Rails 3 - 验证:句柄不等于这些词之一

user.rb (:handle) 

我希望做的是有一个不能用,比如“支持”,“工作人员”,脏话等词的黑名单......

这是可能的使用只会验证方法在rails模型中?

感谢

回答

2

是的,有validates_exclusion_of

http://ar.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#M000089

缺点:它是区分大小写的,所以 “坏” 和 “坏” 是不同的词。

+0

那么,如何添加一个规则,以确保它的用户名不包括'支持'含义'Support123'会错误? – AnApprentice 2011-02-28 17:49:45

+1

我认为validates_exclusion_of几乎是无用的,因为它应该处理正则表达式而不是(区分大小写)字符串。所以你必须写你自己的验证。请参阅指南中的5.3)和6):http://guides.rubyonrails.org/active_record_validations_callbacks.html#using-a-proc-with-if-and-unless – 2011-02-28 17:51:59