9
votes

JQuery Validation-Entrée Texte de texte à être requis si la case à cocher vérifiée

J'ai la case à cocher suivante: xxx pré>

et le champ de texte d'entrée suivant: p> xxx pré>

Ceci est mon code de validation JS:

 $("#franchiseForm").validate({
            rules: {
                mimeType: {
                    required: $("#startClientFromWeb").is(":checked")
                }
            }
        });


0 commentaires

3 Réponses :


2
votes

Validation ne sera pas triger si l'entrée est désactivée code>. Vous pouvez utiliser ce fait - Laissez la textbox être requis, mais initialement désactivé et l'active que lorsque la case à cocher est cochée.

$(function () {
   $('#startClientFromWeb').change(function () {
        if ($(this).is(':checked')) {
            $('#mimeType').removeAttr('disabled');                
        }
        else {
            $('#mimeType').attr('disabled', 'disabled');
        }
    });
});


1 commentaires

Je n'ai pas désactivé l'entrée #mimeType.



11
votes

Vous pouvez ajouter vos propres méthodes de validation personnalisées pour gérer des choses comme ceci:

$.validator.addMethod("requiredIfChecked", function (val, ele, arg) {
    if ($("#startClientFromWeb").is(":checked") && ($.trim(val) == '')) { return false; }
    return true;
}, "This field is required if startClientFromWeb is checked...");


$("#franchiseForm").validate({  
        rules: {  
            mimeType: { requiredIfChecked: true }  
        }  
 });


2 commentaires

J'ai essayé votre code. Cela me donne l'erreur suivante: "Attendu:" Pour cette ligne: MIMETYPE: {OffreFiChecked} Pouvez-vous donner l'exemple dans le violon?


Merci! Le problème était que j'applique les validations sur $ (document) .Ready et la valeur de la case à cocher est toujours fausse. Maintenant, j'applique les validations après l'appel de Ko.applyBindings et cela fonctionne comme prévu. Quoi qu'il en soit, merci de votre aide.



0
votes

le moyen le plus simple qui fonctionne:

Règles: {MIMETYPE: {REQUIS: "# STARTCLIGHTFROMWeb: coché"}}, Messages: {MIMETYPE: {REQUIS: "Répétition vérifiée, à ce jour"}}}


0 commentaires