如何从 validate() 或 valid() 触发我的自定义验证方法

问题描述 投票:0回答:1

我可以通过致电

$form.validate()
$form.valid()
来验证我的表格。因此,大概这些函数会在提交表单时自动调用。

但我的问题是:如果我有自定义验证函数,如何才能使其在调用这些验证方法时自动调用?也就是说,我希望在提交表单时调用我的验证函数,但也希望手动调用

$form.validate()
$form.valid()
时调用。

jquery asp.net jquery-validate unobtrusive-validation
1个回答
0
投票

您可以使用

$.validator.addMethod
。因此,如果您有需要自定义验证规则的输入,您可以将自定义方法添加到验证过程中。

<label for="MyCustomValidation">My Custom Validation</label>
<input type="text" name="MyCustomValidation" id="MyCustomValidation" data-val="true" data-val-required="This field is required." data-rule-custom="Custom validator triggered." class="form-control" />
<span data-valmsg-for="MyCustomValidation" data-valmsg-replace="true"></span>

然后在 javascript 中

function MyCustomValidator() {
    if (typeof $.validator === 'undefined')
        return;

    $.validator.addMethod('custom', function (value, element) {
        var result = false;
        this.elementid = element.id;

        if (value === 'custom') {
            result = true;
        }

        return this.optional(element) || result;

    }, function () {
        return $('#' + this.elementid).attr('data-rule-custom');
    });
}
© www.soinside.com 2019 - 2024. All rights reserved.