L'événement validateedit du plugin RowEditing

Neil McGuigan

Traducteur

vermine

Le plugin Ext.grid.plugin.RowEditing permet d'intervenir sur une ligne d'un tableau. Lorsqu'une modification commence, une petite boîte de dialogue apparait au niveau de la ligne en question. Chaque colonne modifiable affiche un champ d'édition. Il y a un bouton pour enregistrer ou pour annuler toutes les modifications. Cet article se concentre sur l'événement validateedit du plugin et l'affichage des éventuelles erreurs détectées.
Cet article est la traduction de RowEditing Plugin: validateedit event publié sur ExtJS Tutorials.

- Titre : L'événement validateedit du plugin RowEditing

- Auteur : Neil McGuigan

- Traducteur : vermine

- Parution : 31 juillet 2012

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2012 Neil McGuigan. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Explications

- II. Gestion de l'événement

- III. Remerciements

I - Explications

Le plugin RowEditing lance un événement validateedit 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 Tutorials : RowEditing Plugin: validateedit event.
Je remercie également ClaudeLELOUP pour sa relecture minutieuse.