86b44cd0a4
Plus quelques adaptation de style cf: pas besoin d'executer la validation du champs expression reguliere dans controller, le validateur le fait sur le champ au moment de sauver le dossier avec le bon context
11 lines
365 B
Ruby
11 lines
365 B
Ruby
class ExpressionReguliereValidator < ActiveModel::Validator
|
|
def validate(record)
|
|
if record.value.present?
|
|
if !record.value.match?(Regexp.new(record.expression_reguliere, timeout: 5.0))
|
|
record.errors.add(:value, :invalid_regexp)
|
|
end
|
|
end
|
|
rescue Regexp::TimeoutError
|
|
record.errors.add(:expression_reguliere, :evil_regexp)
|
|
end
|
|
end
|