Rails:如果存在值,如何验证格式?

Gui*_*ume 32 validation ruby-on-rails ruby-on-rails-3

我想验证表单值的格式,允许空值或需要特定格式.

要根据格式验证值,这可以正常工作:

validates :application_bundle_identifier, :format => {
  :with => /^[a-zA-Z0-9.-]+$/,
  :message => "A bundle identifier should contain only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters."
}
Run Code Online (Sandbox Code Playgroud)

现在,我想允许用户根本不输入值.在这种情况下,我可以调整正则表达式^[a-zA-Z0-9.-]*$,但这似乎不是一个非常好的Rails方式.根据格式,可能不可能,或者至少不太清楚.

在这种情况下,最佳做法是什么?

Jor*_*ing 71

:allow_blank => true当属性为空/空/零时,您可以使用该选项跳过验证.