Telerik ASP.. NET MVC复选框剑道验证

本文关键字:验证 复选框 MVC ASP NET Telerik | 更新日期: 2023-09-27 18:15:57

我有布尔属性在我的视图模型与[Required]属性。

@(Html.Kendo().CheckBoxFor(m => m.AcceptTermsOfUseAndPrivacyPolicy)
$("form").kendoValidator();

在我看来

表单上的所有其他控件都按预期进行验证,只有复选框验证不起作用(不执行验证)。

我错过了什么?

Telerik ASP.. NET MVC复选框剑道验证

对于MVC部分(创建自定义属性,视图和模型验证)

http://blog.degree.no/2012/03/validation-of-required-checkbox-in-asp-net-mvc

JavaScript部分(自定义剑道验证器):

(function($, kendo) {
    $.extend(true, kendo.ui.validator, {
        rules: {
            booleanrequired: function(input, params) {
                if ($(input).is(':checkbox')) {
                    var attr = $(input).attr('data-val-booleanrequired');
                    var req = $(input).attr('data-val-required');
                    if ((typeof req !== typeof undefined && req !== false) && (typeof attr !== typeof undefined && attr !== false)) {
                        return $(input).is(':checked');
                    }
                    return true;
                }
                return true;
            }
        },
        messages: {
            booleanrequired: function(input) {
                return input.attr("data-val-booleanrequired");
            }
        }
    });
})(jQuery, kendo);