Valider 1b6b72f0 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

Verification asynchrone json des formulaires ajax.

En résumé :
jQuery('.formulaire_truc').formulaire_verifier(callback);
appelle la fonction verifier() du serveur et renvoie le tableau des erreurs a la callback

jQuery('.formulaire_truc').formulaire_activer_verif_auto();
active une vérification automatique ajax a chaque saisie de champ


En détail :
- si on submit un formulaire ajax avec 'formulaire_action_verifier_json', SPIP renvoie en json le tableau des erreurs sortant de verifier() sans declencher aucun traitement

- La fonctionnalité peut être utilisée à l'aide de la fonction
jQuery('.formulaire_truc').formulaire_verifier(callback);
la fonction callback recevra le tableau des erreurs renvoyé par verifier() du serveur
Dans la callback, this pointera sur le <form> du formulaire vérifié.

- une fonction d'affichage des erreurs avec la structure HTML des formulaires de SPIP 'formulaire_actualiser_erreurs' est fournie pour utiliser en callback de formulaire_verifier()

- une fonction facilitatrice
jQuery('.formulaire_truc').formulaire_activer_verif_auto();
active la vérification asynchrone par json sur chaque modification d'un champ,
avec affichage des erreurs par la fonction précédente.

Rien de tout cela n'est activé par défaut. Un point à prendre en compte est qu'en cas de champ de type file, le fichier sera uploadé à chaque verification.
Par ailleurs, dans certains formulaires, verifier champ par champ n'a pas de sens, car certaines saisies n'ont de sens qu'en alternative à une autre etc..
Enfin, si la stucture du formulaire n'est pas parfaitement celle préconisée, l'affichage des erreurs échouera.

Faut-il proposer une classe .verif-ajax pour activer le comportement par defaut, ce qui permettrait de traiter spécifiquement les formulaires avec des cas particuliers ?
Ou au contraire une classe .no-verif-ajax pour l'inhiber, avec dans ce cas une activation par défaut ?
parent b610e060
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter