I would like to validate the format of a form value, allowing an empty value or requiring a specific format.
To validate a value against a format, this works fine:
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."
}
Now, I would like to allow users to not enter the value at all. In this case, I could tweak the regexp to ^[a-zA-Z0-9.-]*$
, but this does not seem a very good Rails-way. Depending of the format, it might be not possible, or at least less clear.
What is the best practice in this case?
You can use the option allow_blank: true
to skip the validation when the attribute is blank/empty/nil.
https://guides.rubyonrails.org/active_record_validations.html#allow-blank
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With