Ce validateur permet d’ajouter les validations temporelles des dates du validation engine :

  • dateRange (bogué dans la version actuelle du validation engine)
  • past
  • future

« dateRange » n’est à utiliser qu’en cas de nécessité, en effet dans la version actuelle du validation engine (v.2.6.2), le format de la date ne peut pas être « dd.MM.yyyy ».

Layout.config

L’ID de la fonction de validation est composé de la façon suivante :

fonction[elementCompare]

Voici la liste des fonctions (premier niveau) et des éléments pouvant être comparés (second niveau)

  • dateRange
    • group*
    • grp*

« * » indique que l’on peut ajouter une suite de caractères alphanumériques. Si un tel validateur est utilisé, il doit être mis sur deux champs par formulaire, ni plus ni moins.

  • past
    • now
    • #IdDuChamp
    • FLD
  • future
    • Now
    • #IdDuChamp
    • FLD

« FLD » indique que le champ est indiqué dans l’expression de validation par son nom interne. Lors du rendu, la fonction « GetJSRule(FormBuilderField) » va rechercher le champ correspondant et transformera par exemple « past[FLD] » en « past[#ff1_1] ».

Seules les fonctions de validation « past[now] » et « future[now] » sont validées du côté serveur. Ceci est dû à la structure de la validation, chaque champ est traité l’un après l’autre et c’est lors du traitement du champ que sa valeur est récupérée et validée. Il n’est donc pas possible de valider un champ par rapport à un autre à l’heure actuelle.

Exemples :

<ValidationFunction ID="future[FLD]" Title="Date future - Field" FieldTypes="Date" />

<ValidationFunction ID="past[FLD]" Title="Date past - Field" FieldTypes="Date" />

<ValidationFunction ID="past[now]" Title="Date past - Now" FieldTypes="Date" />

<ValidationFunction ID="future[now]" Title="Date future - Now" FieldTypes="Date" />

Javascript (lang)

Les règles javascript doivent tout de même être ajoutées bien qu’il s’agisse d’une fonctionnalité du validation engine.

"past": {
            "regex": "none",
            "alertText": "* Date antérieure au "
},
"future": {
            "regex": "none",
            "alertText": "* Date postérieure au "
},
"dateRange": {
            "regex": "none",
            "alertText": "* Dates ",
            "alertText2": "invalides"
}