J’essaie d’utiliser le plug-in de validation jQuery pour valider un formulaire que j’ai sur l’une de mes applications.
Le formulaire (simplifié) est le suivant:
Ce que j’essaie de faire est de valider ce qui suit: si la case à cocher est cochée, je vérifie qu’une valeur est sélectionnée dans ma première sélection et si la case à cocher n’est pas cochée, je vérifie la valeur sélectionnée de ma deuxième liste.
J’ai essayé quelque chose comme:
$('#my_form').validate({ // initialize the plugin rules: { my_hidden_input:{ "checkboxSelect": true, }, }, submitHandler: function (form) { // for demo console.log($("#monitors_start").value); return false; } }); jQuery.validator.addMethod( "checkboxSelect", function() { if ($("#my_select_checkbox").attr('checked')) return $("#my_select_1").val(); else return $("#my_select_2").val(); }, "test addMethod" );
Mais il semble que je ne comprends pas bien … Si quelqu’un pouvait m’aider, ce serait grandement apprécié!
Merci !
Vous pouvez utiliser l’option dépend comme
var validator = $('#form').validate({ rules: { my_select_1: { required: { depends: function () { return $('#my_select_checkbox').is(':checked') } } }, my_select_2: { required: { depends: function () { return !$('#my_select_checkbox').is(':checked') } } } }, messages: {} });
Démo: Violon