User : Ajoute le type de champ Expression régulière coté utilisateur

This commit is contained in:
Kara Diaby 2023-09-29 21:09:41 +00:00
parent c22e36c35c
commit a26df43577
14 changed files with 112 additions and 8 deletions

View file

@ -0,0 +1,14 @@
class ExpressionReguliereValidator < ActiveModel::Validator
def validate(record)
if record.value.present?
begin
if !record.value.match?(Regexp.new(record.expression_reguliere, timeout: 5.0))
record.errors.add(:value, I18n.t('errors.messages.invalid_regexp', expression_reguliere_error_message: record.expression_reguliere_error_message))
end
rescue Regexp::TimeoutError
record.errors.add(:expression_reguliere, I18n.t('errors.messages.evil_regexp'))
end
end
end
end