【问题标题】:Telerik ASP.NET MVC Checkbox Kendo validationTelerik ASP.NET MVC 复选框剑道验证
【发布时间】:2015-12-31 22:17:53
【问题描述】:

我的视图模型中有布尔属性和 [Required] 属性。

我有

@(Html.Kendo().CheckBoxFor(m => m.AcceptTermsOfUseAndPrivacyPolicy)

$("form").kendoValidator();

在我看来。

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

我错过了什么?

【问题讨论】:

  • 您期待什么验证?您的属性只能具有 2 个值之一 - truefalse 它将始终具有(除非您有恶意用户试图回发一些其他值)。请注意,[Required] 并不是真正需要的,因为该属性不可为空。
  • 嗯,是的,谢谢你为我指明了正确的方向。我需要自定义布尔验证属性,该属性将在错误值的情况下将模型置于错误状态。此外,我可能需要自定义 Kendo 验证器。

标签: c# jquery asp.net-mvc kendo-ui telerik


【解决方案1】:

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

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

对于 JavaScript 部分(自定义 Kendo 验证器):

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    相关资源
    最近更新 更多