J'utilise le plugin jQuery ajaxform pour créer des formulaires HTML ajaxed et que vous souhaitez mettre en œuvre la validation en utilisant le plugin jQuery Validation.Quelle est la meilleure approche pour utiliser ajaxform avec la validation jQuery?
Je ne suis pas sûr de la meilleure façon de l'implémenter.
Cela ne fonctionne pas pour moi-même. J'ai mis en place le formulaire avec form.ajaxform({})
et ensuite mis en place la validation avec form.validate({})
. L'événement invalidHandler se déclenche sur le plug-in de validation, mais ajaxform soumet toujours le formulaire.
Comment câbler les deux correctement?
Mon code:
_initializeValidation: function (form) {
var options = {
rules:
{
Name:
{
required: true
}
},
messages:
{
Name: "Name is required",
ShortName: "Short name is required"
}
};
if (form.find("#ShortName").length == 1)
$.extend(options.rules, { ShortName: { required: true} });
form.validate(options);
}
/*
* Initializes a newly loaded edit form
*/
_initializeEdit: function (panel) {
var thisDetailTab = this;
var form = panel.find("form");
form.ajaxForm(
{
target: panel,
url: this._config.updateUrl,
beforeSubmit: function (arr, $form, options) {
return form.valid();
},
success: function (responseText, statusText, xhr, form) {
thisDetailTab._initializeDetails(panel);
thisDetailTab._config.refreshSummary();
}
}
);
this._initializeValidation(form);
var cancelButton = panel.find(".cancelButton");
cancelButton.click(function (event) {
$.ajax(
{
url: thisDetailTab._config.detailsUrl,
success: function (data) {
panel.empty();
panel.append(data);
thisDetailTab._initializeDetails(panel);
}
}
);
});
}
Pourriez-vous coller du code sur la façon dont vous utilisez l'ajaxform? J'ai de l'expérience avec le plugin validation mais pas avec ajaxform :( –
J'ai maintenant ajouté l'appel 'valid()' à l'évènement beforeSubmit, il semble faire ce que je veux, et c'est assez simple. – GiddyUpHorsey