Как использовать условие IF ELSE внутри правила jquery.validate.js - PullRequest
1 голос
/ 23 июня 2011

Как использовать условие IF ELSE внутри функции RUle в Jquery Validation.

Я использую одну форму для некоторых полей, обязательных для варианта 1, а некоторые поля для обязательного варианта 2.

Пример

для приведенного ниже кода мне нужно имя и адрес для первого варианта, а также имя и URL для варианта 2. Как использовать для этого условие IF / Else.

 $(document).ready(function(){      
        $("#demo-form").validate({    
          rules: {
            name: "required",
            address: "required",
            url: "required url",
            integer: {
        required:true,
        integer:true,
        min: 5
        },
       }
       });

Ответы [ 5 ]

1 голос
/ 23 июня 2011

Вы можете использовать встроенный оператор if:

$(document).ready(function(){      
        $("#demo-form").validate({    
          rules: {
            name: someCondition ? "required" : "notrequired",
            address: "required",
            url: "required url",
            integer: {
        required:true,
        integer:true,
        min: 5
        },
       }
       });

Где someCondition оценивает слишком логическое значение, например: ($('selectedOption').val() == 1)

Примечание: вместо notrequired укажите правильное имя, если свойство не требуется.

0 голосов
/ 18 июля 2016

Этот вопрос явно старый, но я считаю, что он все еще актуален. Текущий плагин Jquery Validate включает в себя синтаксис, позволяющий выполнить условия перед выполнением обязательного заполнения поля. Например, если вы хотите, чтобы поле было обязательным, только если флажок установлен, вы будете использовать:

$( "#myform" ).validate({
    rules: {
        email: {
            required: "#other:checked"
        }
    }
});

Примечание : здесь необходимо установить флажок с идентификатором other для ввода с атрибутом name='email'.

В качестве альтернативы, вы можете написать функцию в объекте правил для проверки значения другого элемента, прежде чем сделать отдельный элемент обязательным. Например:

$( "#myform" ).validate({
    rules: {
        age: {
            required: true,
            min: 3
        },
        parent: {
            required: function(element) {
            return $("#age").val() < 13;
            }
        }
    }
});

Примечание : Здесь значение поля ввода с атрибутом name='age' должно иметь значение меньше 13, чтобы поле ввода с атрибутом name='parent' было обязательным. В этой функции важно передать аргумент элемента.

Оба эти примера были взяты для сайта плагина Jquery Validation, вот ссылка: https://jqueryvalidation.org/required-method/

0 голосов
/ 22 марта 2014
depends: function(element) {
                if ($(("#selectid option:selected").val() == '3').is(':checked')){
                    code:"required";
                    creditLimit:"required";
                    depositAmont:"required";
                    idProofNumber:"required";
                    identyProof:"required";
                        "panNumber"{panNumber:true;}
                        return true;
                }else{return false;}
                },
0 голосов
/ 18 июля 2013

sZipCode: page.langID == 1 ? {required: true, minlength: 5, number: true, range: [1, 79999]} : {required: true, minlength: 5, number: true, rangesk: [1000,9999,80000, 99999]},

0 голосов
/ 23 июня 2011

почему бы не сделать что-то вроде:

$(document).ready(function () {
    $("#demo-form").validate({
        rules: {
            <% if (option1=true) { %>
            name: "required",
            <% } %>
            address: "required",
            url: "required url",
            integer: {
                required: true,
                integer: true,
                min: 5
            },
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...