jQuery valider la méthode personnalisée sans être appelée
-
14-11-2019 - |
Question
j'ai utilisé jQuery.validator.addMethod
Pour créer une méthode de validation personnalisée qui s'assurera qu'il y a au moins une ligne dans ma table de données de données. En utilisant Firebug, mon point d'arrêt dans la méthode n'est pas du tout frappé. Est-ce que je manque quelque chose?
Noter: Je suis sûr qu'il y a des problèmes avec la méthode de validation elle-même, mais c'est parce que je ne peux pas encore le déboguer. Je suis toujours un novice avec JavaScript.
Mise à jour: J'ai compris qu'il ne se déclenche pas parce que je n'avais pas le validateur sur un champ de saisie. Je l'ai fait maintenant, cependant, y a-t-il un moyen d'ajouter une validation sans la fixer à un champ de saisie?
Voici à quoi ressemble ma table:
<table id="editorRows">
...
<tbody class="editorRow">
<tr class="row1">
</tr>
<tr class="row2" style="display: none;">
</tr>
<tr class="row3" style="display:none;">
</tr>
</tbody>
<tbody class="editorRow">
<tr class="row1">
</tr>
<tr class="row2" style="display: none;">
</tr>
<tr class="row3" style="display:none;">
</tr>
</tbody>
</table>
Voici mon validateur personnalisé:
jQuery.validator.addMethod('required_row', function(val, el) {
var rowCount = $("#editorRows tbody").length;
if (typeof rowCount != "undefined") {
return (rowCount > 0);
} else {
return false;
};
}, "Your request must contain at least one day.");
// Validate the form before submitting
$("form").validate({
rules: {
"#editorRow": { required_row: true }
}
});
La solution
J'ai compris qu'il ne se déclenche pas parce que je n'avais pas le validateur sur un champ de saisie. Je l'ai fait maintenant, cependant, y a-t-il un moyen d'ajouter une validation sans la fixer à un champ de saisie?