validation par regex
This commit is contained in:
parent
d8b63cd4c9
commit
8d2c5cfa14
2 changed files with 12 additions and 1 deletions
|
@ -72,6 +72,15 @@ class Procedure < ApplicationRecord
|
||||||
validates :duree_conservation_dossiers_dans_ds, allow_nil: true, numericality: { only_integer: true, greater_than_or_equal_to: 1, less_than_or_equal_to: MAX_DUREE_CONSERVATION }, unless: :durees_conservation_required
|
validates :duree_conservation_dossiers_dans_ds, allow_nil: true, numericality: { only_integer: true, greater_than_or_equal_to: 1, less_than_or_equal_to: MAX_DUREE_CONSERVATION }, unless: :durees_conservation_required
|
||||||
validates :duree_conservation_dossiers_hors_ds, allow_nil: true, numericality: { only_integer: true, greater_than_or_equal_to: 0 }, unless: :durees_conservation_required
|
validates :duree_conservation_dossiers_hors_ds, allow_nil: true, numericality: { only_integer: true, greater_than_or_equal_to: 0 }, unless: :durees_conservation_required
|
||||||
|
|
||||||
|
class MonavisValidator < ActiveModel::Validator
|
||||||
|
def validate(record)
|
||||||
|
r = Regexp.new('<a href="https://monavis.numerique.gouv.fr/Demarches/\d+\?&view-mode=formulaire-avis&nd_mode=en-ligne-enti%C3%A8rement&nd_source=button&key=[[:alnum:]]+">\s*<img src="https://monavis.numerique.gouv.fr/monavis-static/bouton-blanc|bleu.png" alt="Je donne mon avis" title="Je donne mon avis sur cette démarche" />\s*</a>', Regexp::MULTILINE)
|
||||||
|
if record.monavis.present? && !r.match?(record.monavis)
|
||||||
|
record.errors[:base] << "Le code fourni ne correspond pas au format des codes Monavis reconnus par la plateforme."
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
validates_with MonavisValidator
|
||||||
before_save :update_juridique_required
|
before_save :update_juridique_required
|
||||||
before_save :update_durees_conservation_required
|
before_save :update_durees_conservation_required
|
||||||
before_create :ensure_path_exists
|
before_create :ensure_path_exists
|
||||||
|
|
|
@ -11,4 +11,6 @@
|
||||||
|
|
||||||
%p Une fois en possession du code généré sur le site MonAvis, vous pouvez le coller dans le champ ci-dessous :
|
%p Une fois en possession du code généré sur le site MonAvis, vous pouvez le coller dans le champ ci-dessous :
|
||||||
|
|
||||||
= f.text_area :monavis, rows: '6', placeholder: 'Insérer le code généré par MonAvis', class: 'form-control'
|
.form-group
|
||||||
|
= f.label :monavis, "Mon avis"
|
||||||
|
= f.text_area :monavis, rows: '6', placeholder: '<a href="https://monavis.numerique.gouv.fr/Demarches/123456?&view-mode=formulaire-avis&nd_mode=en-ligne-enti%C3%A8rement&nd_source=button&key=cd4a872d4"><img src="https://monavis.numerique.gouv.fr/monavis-static/bouton-bleu.png" alt="Je donne mon avis" title="Je donne mon avis sur cette démarche" /></a>', class: 'form-control'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue