Подтвердить что ты не робот

JQuery Validate, Как предоставить пользовательскую ошибку из пользовательской функции на основе условия?

jQuery Validate, Как предоставить настраиваемую ошибку из пользовательской функции, основанной на другом условии???.

Вот пример кода. Это не мой фактический код. Здесь я пытаюсь поставить свою проблему в пример кода.

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

rules: {
    "data[Model][field1]": {
        required:function(){
            var myValue = $('#myfield').val();
            if( myValue < '5') {
                // Here i want to assign different error message
                return false;
            } else if( myValue > '10') {
                // Here i want to assign different error message
                return false;
            } else {
                return true;
            }
        }
    },
messages: {
    "data[Model][field1]":{ "required":"How can i get the above messages here??" }
}
4b9b3361

Ответ 1

Опция messages может принимать функции, возвращающие сообщения об ошибках, поэтому вы можете написать что-то вроде:

rules: {
    "data[Model][field1]": {
        required: function() {
            var myValue = $("#myfield").val();
            return myValue >= 5 && myValue <= 10;
        }
    }
},
messages: {
    "data[Model][field1]": {
        required: function() {
            var myValue = $("#myfield").val();
            if (myValue < 5) {
                return "Value must be greater than 4";
            } else if (myValue > 10) {
                return "Value must be less than 11";
            }
        }
    }
}