EN · DE · RU · FR · ES

#2773 : AjaxFormSubmitCallback.java

projectforge-wicket/src/main/java/de/micromata/wicket/ajax/AjaxFormSubmitCallback.java Interface Java (Micromata Wicket Ajax Form) · projectforge-wicket/src/main/java/de/micromata/wicket/ajax/AjaxFormSubmitCallback.java 39 lignes · 7 code · 28 commentaires · 4 vides
Une spécialisation de AjaxCallback pour les scénarios de soumission de formulaire Wicket. Étend le contrat de base du callback avec une méthode onError(AjaxRequestTarget, Form<?>) qui se déclenche lorsque la validation du formulaire échoue. Cette interface sépare le chemin de succès (méthode callback héritée) du chemin d'erreur (nouvelle méthode onError), suivant le modèle de méthode template au niveau de l'interface. Les implémentations reçoivent à la fois la cible Ajax (pour mettre à jour les messages d'erreur dans le DOM) et l'instance du formulaire (pour inspecter les erreurs de validation).

Architecture

Modèle de callback en deux phases

La séparation du traitement des succès et des erreurs au niveau de l'interface est délibérée. Les formulaires Wicket fonctionnent selon un cycle de validation en deux phases : d'abord le formulaire valide, puis le gestionnaire de succès ou d'erreur s'exécute. En encodant les deux résultats dans le contrat de l'interface, le code appelant dans les comportements Ajax personnalisés de Micromata peut invoquer de manière inconditionnelle la méthode appropriée en fonction de l'état de validation du formulaire, sans avoir besoin de réflexion ou de vérifications instanceof.

Exigence de sérialisation

Comme son parent AjaxCallback, cette interface étend Serializable. Dans l'architecture de stockage des pages de Wicket (qui peut sérialiser les pages sur le disque ou dans une base de données entre les requêtes), les implémentations de callback doivent survivre à la sérialisation. C'est une contrainte courante de Wicket — tout objet attaché à une arborescence de composants doit implémenter Serializable.

Historique Git

CommitCe qui a changé
868d6abb7 à ceb63e8a1Six mises à jour annuelles des en-têtes de droits d'auteur (2001-2021 → 2001-2026), couvrant l'ensemble de l'historique du fichier. L'interface elle-même n'a jamais été modifiée au-delà de sa création initiale — le contrat de callback de soumission de formulaire s'est avéré suffisant pour tous les scénarios de gestion de formulaires dans l'application.