我有一个Rails模型,其属性是一个正则表达式。有没有一种标准方法可以在保存之前验证属性的值是否为有效的正则表达式?
更新:根据接受的答案,这就是我所做的:
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
答案 0 :(得分:4)
你可以问Regexp.compile
并发现错误。