,我需要验证一个表单字段,所以它不能是一个特定的字符串。例如,如果有人在文本字段中输入“hello”并提交表单,我如何抛出一个错误,说明不允许使用特定的字符串?有没有办法避免在客户端使用 javascript 执行此操作,以便我可以保持一致的感觉?
validates_presence of :field_name, #condition here
,我需要验证一个表单字段,所以它不能是一个特定的字符串。例如,如果有人在文本字段中输入“hello”并提交表单,我如何抛出一个错误,说明不允许使用特定的字符串?有没有办法避免在客户端使用 javascript 执行此操作,以便我可以保持一致的感觉?
validates_presence of :field_name, #condition here
您需要通过自定义验证
INVALID_STRING = %W(string1, string2, string3, ... )
def valid_field_name // valid_name
if INVALID_STRING.include?(self.field_name)
errors[:base] << "field_name you enter that not valid." unless self.field_name.blank?
end
end
调用这个方法
validate:valid_field_name
rails 中的自定义验证非常简单,如果属性“name”不包含在字符串数组中,则在此示例中引发错误。
WHITELIST = %w(string1 string2 otherstring)
validate :name_is_ok
def name_is_ok
unless WHITELIST.include? name
errors[:name] << "is not valid"
end
end