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 }
    }
});
Était-ce utile?

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?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top