Подтвердите конкретное поле / определенное правило, используя проверку Kendo UI

В настоящее время у меня есть следующие пользовательские правила для проверки полей моей формы.

правила

$scope.validator = $("#frmPreregistration").kendoValidator({
    rules: {
        varifySsn: function (input) {
            var ret = true;
            if (input.is("[name=last4Ssn]") && $scope.Last4DigitsSsn != undefined ) {
                ret = $scope.validateSsnLast4Digit();
            }
            return ret;
        },
        varifyDob: function (input) {
            var ret = true;
            if (input.is("[name=dob]") && $scope.DateOfBirth != undefined ) {
                ret = $scope.validateDateOfBirth();
            }
            return ret;
        },
        varifyZipCode: function (input) {
            var ret = true;
            if (input.is("[name=zipCode]") && $scope.ZipCode != undefined ) {
                ret = $scope.validateZipCode();
            };
        return ret;
        }
    },
    messages: {
        varifySsn: $scope.resources.SsnLast4DigitDoesNotMatch,
        varifyDob: $scope.resources.DobNotMatchWithSelectedUserType,
        varifyZipCode: $scope.resources.ZipCodeNotMatchWithSelectedUserType,
    }
}).data("kendoValidator");

Я проверяю форму всякий раз, когда пользователь вводит значение в любое из полей формы $scope.validator.validate()

Это приводит к тому, что правила запускаются для всех полей еще до того, как пользователь введет в них какое-либо значение.

Вопрос Есть ли возможность, что я могу запустить конкретное правило проверки за раз или запустить проверку для определенного поля?

1 ответ

Решение

Ты можешь использовать validateInput для конкретного элемента.

Пример:

$scope.validator.validateInput($("input[name=dob]"));

скрыть неверное сообщение, которое вы можете использовать hideMessages функция

$scope.validator.hideMessages();
Другие вопросы по тегам