Rails:如果存在值,如何validation格式?
我想validation表单值的格式,允许空值或需要特定格式。
要根据格式validation值,这可以正常工作:
validates :application_bundle_identifier, :format => { :with => /^[a-zA-Z0-9.-]+$/, :message => "A bundle identifier should contain only alphanumeric (AZ,az,0-9), hyphen (-), and period (.) characters." }
现在,我想允许用户根本不输入值。 在这种情况下,我可以将正则表达式调整为^[a-zA-Z0-9.-]*$
,但这似乎不是一个非常好的Rails方式。 根据格式,可能不可能,或者至少不太清楚。
在这种情况下,最佳做法是什么?
您可以使用选项:allow_blank => true
在属性为空/空/ :allow_blank => true
跳过validation。
添加unless nil? || blank?
unless nil? || blank?
,如果它是空白的(空的)或零,我应该跳过validation,我相信。
请参阅此页面上的最后一个代码示例。