I have a Rails model with an attribute that is a regular expression. Is there a standard way to validate that the attribute's value is a valid regexp before saving?
Update: As per the accepted answer, here's what I did:
class Foo < ActiveRecord::Base
validates_each :bar do |model, attr, value|
begin
Regexp.compile value
rescue RegexpError => e
model.errors.add attr, "not a valid regular expression: #{e.message}"
end
end
# [...]
end
You could just ask Regexp.compile
and catch errors.
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