使用 Kendo UI 验证验证特定字段/特定规则

Validate particular field / particular rule using Kendo UI validation

目前我有以下自定义规则来验证我的表单字段。

规则

$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()

在表单的任何字段中输入值时,我都会验证表单

这导致在用户输入任何值之前就触发所有字段的规则。

问题 有没有可能我可以一次 运行 一个特定的验证规则或 运行 验证一个特定的字段?

您可以对特定元素使用 validateInput

示例:

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

要隐藏无效消息,您可以使用 hideMessages 函数

$scope.validator.hideMessages();