Dans un onglet, j'ai un formulaire qui est chargé dynamiquement via ajax. Étant donné que le nom du champ est également dynamique (par exemple, <input name='title1' id='title1', class='tRequired'>
), j'écris une méthode de validation personnalisée à l'intérieur du "on complete" comme ceci. Cependant, le code personnalisé n'est pas exécuté (l'alerte ne s'affiche jamais), peu importe ce que j'essaie.La validation personnalisée ne semble pas être enregistrée
$.ajax
(
{
url: 'index.php?func=trainingmgr&aAction=displayAddForm', <br>
type: 'GET',<br>
dataType: 'html',<br>
complete: function(req, err)
{
//Append response to the tab's body <br>
$(href, '#trainingTabs').append(req.responseText);
$.validator.addMethod
(
'tRequired',
function(value, element)
{
if(value == '')
{
alert('I am empty'); <====== Never pops up
return true;
}
else return false;
},
'<br>Required field'
);
$('#upload' + index).click
(
function()
{ $('#addForm' + index).validate(); }
);
}
}
);
Quel plugin validateur utilisez-vous? – Damovisa
tout d'abord, pouvez-vous confirmer que la fonction ajax complete est exécutée? En plus de l'addmethod au validateur, le reste de la fonction complète fonctionne-t-il? Si c'est le cas, il se peut que votre méthode ajoutée personnalisée ne fonctionne pas nécessairement sur un appel '.validate()' par défaut sans options. vous devrez spécifier une option de règles, avec tRequired: true; pour les champs. – Sander