我正在使用Rails 5.如何为我的模型创建验证规则,如果属性与模式不匹配,则验证规则是否有效?我有这个
validates_numericality_of :my_str, :with => /\d:\d/, :allow_blank = true
但我真正想说的是验证字符串是否与正则表达式不匹配。
答案 0 :(得分:1)
我所理解的是,如果验证不是数字,您希望验证通过,那么为什么不更改正则表达式以匹配除数字之外的任何内容:
/^(?!\d)/
使用你的代码就是
validates_format_of :my_str, :with => /^(?!\d)/, :allow_blank = true
或者:
正如documentation所说
或者,您可以要求指定的属性不要 使用:without选项匹配正则表达式。
所以:
validates_format_of :my_str,format: { without => /\d:\d/}, allow_blank = true
validates_format_of
验证属性'值是否通过测试它们是否与使用:with
或:without
选项指定的给定正则表达式匹配