I. Explications▲
Le plugin RowEditing lance un événement
validateeditvalidateedit
lorsque son bouton Update est cliqué.
Il est déclenché avant que l'enregistrement ne soit rempli avec les données du formulaire.
II. Gestion de l'événement▲
Voici comment gérer l'événement validateedit si vous souhaitez valider un modèle et afficher les erreurs de validation. Le editor.editor.form référence un BasicForm et non un FormPanel.
validateedit
:
function(
editor,
e,
eOpts){
var newModel =
e.
record.copy
(
);
//copier l'ancien modèle
newModel.set
(
e.
newValues);
//positionner les valeurs reçues par le plugin d'édition du formulaire
var errors =
newModel.validate
(
);
//valider les nouvelles données
if(!
errors.isValid
(
)){
editor.
editor.
form
.markInvalid
(
errors);
//le double "editor" est correct
return false;
//empêcher le plugin d'édition de se fermer
}
}
III. Remerciements▲
Cet article a été publié avec l'aimable autorisation de Neil McGuigan. L'article original peut être lu sur le blog ExtJS TutorialsExtJS Tutorials : RowEditing Plugin: validateedit eventRowEditing Plugin: validateedit event.
Je remercie également ClaudeLELOUP pour sa relecture minutieuse.