0

,我需要验证一个表单字段,所以它不能是一个特定的字符串。例如,如果有人在文本字段中输入“hello”并提交表单,我如何抛出一个错误,说明不允许使用特定的字符串?有没有办法避免在客户端使用 javascript 执行此操作,以便我可以保持一致的感觉?

validates_presence of :field_name, #condition here
4

2 回答 2

1

您需要通过自定义验证

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
于 2012-10-05T05:05:12.803 回答
1

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
于 2012-10-05T01:24:47.497 回答