在我的 Rails 模型中,我有某种模板系统。我想确保编辑它的用户不会犯意外错误,所以我使用了一些简单的验证器。
他们可以使用##user_id##
以后会被替换的标记。我想确保他们不会输入###user_id##
包含太多 的类似内容#
,因此字段中不必出现任何###
(或####
)。
class Template
validates_format_of :text, :with => /##user_id##/,
:message => "##user_id## must be present"
validates_format_of :text, :not_with => /###/,
:message => "Too many #"
end
不幸的是,没有:not_with
选择......有没有机会使用:with
-regex 来解决它,或者我应该采用单独的validate
方法吗?
我尝试了一些消极的前瞻,但由于(大部分)有几个##
而且只有一个###
,它们总是匹配其中一个。