kendoUI validator 表单验证

kendoUI validator 表单验证

实现方式一

验证规则和提示信息写在input标签的属性中

  • 通过标签的patternvalidationMessage 实现
<div id="page-content">
    <form id="mainform" class="form-horizontal" method="post"
        <input type="text" required style="width:100%" name="myId"
                pattern="^[0-9a-zA-Z]{1,64}$" validationMessage="{0}只包含字母和数字,且长度为1-64"
                data-bind="value:model.myId" class="k-textbox">
        <input type="text" required style="width:100%" name="myName"
                pattern=".{1,64}" validationMessage="{0}长度为1-64"
                data-bind="value:model.myName" class="k-textbox">
        <input type="text" required style="width:100%" name="myAge"
                pattern="^([1-9]|1\d{2}|[1-9]\d)$" validationMessage="{0}为1-200的自然数"
                data-bind="value:model.myAge" class="k-textbox">
    </form>
</div>
  • 使用
var validator = $("#page-content").kendoValidator().data("kendoValidator");
if (validator.validate()){
    //valid. do something
} else{
    //invalid. notify user
}

实现方式二

验证规则和提示写在JavaScript代码中

  • html
<div id="page-content">
    <form id="mainform" class="form-horizontal" method="post"
        <input type="text" required style="width:100%" name="myId"
               data-bind="value:model.myId" class="k-textbox">
        <input type="text" required style="width:100%" name="myName"
               data-bind="value:model.myName" class="k-textbox">
       <input type="text" required style="width:100%" name="myAge"
               data-bind="value:model.myAge" class="k-textbox">
    </form>
</div>
  • 验证器和验证规则
var validator = $("#page-content").kendoValidator({
    rules: {
        idRange: function (input) {
            if (input.is("[name=myId]")) {
                var value = input.val();
                return value && /^[0-9a-zA-Z]{1,64}$/.test(value);
            }
            return true;
        },
        ageRange: function (input) {
            if (input.is("[name=myAge]")) {
                var value = input.val();
                // 自然数<200
                return /^([1-9]|1\d{2}|[1-9]\d)$/.test(value);
            }
            return true;
        },
        nameRange: function (input) {
            if (input.is("[name=myName]")) {
                var value = input.val();
                return value.length <= 64;
            }
            return true;
        },
    },
    messages: {
        idRange: "{0}只包含字母和数字,且长度不能超过64位",
        ageRange: "{0}范围只能为1-199",
        nameRange: "{0}不能超过64个汉字"
    },
}).data("kendoValidator");

if (validator.validate()){
    //valid. do something
} else{
    //invalid. notify user
}
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Included: - JustDecompile_2017_2_502_1 - JustMock_2017_2_502_1_Dev - telerik.kendoui.professional.2017.2.504.commercial - telerik.ui.for.aspnet.core.2017.2.504.commercial - telerik.ui.for.aspnetmvc.2017.2.504.commercial - telerik.ui.for.jsp.2017.2.504.commercial - telerik.ui.for.php.2017.2.504.commercial - Telerik_Reporting_R2_2017_11_1_17_503_DEV - Telerik_UI_for_ASP.NET_AJAX_2017_2_503_Dev - Telerik_UI_for_Silverlight_2017_2_503_Dev - Telerik_UI_for_UniversalWindowsPlatform_2017_2_0502_1_Dev - Telerik_UI_For_WinForms_2017_2_502_Dev - Telerik_UI_for_WPF_2017_2_503_Dev - Telerik_UI_for_Xamarin_2017_2_503_10_Dev - Telerik_Web_Parts_For_Sharepoint2010_2017_2_503_Dev - Telerik_Web_Parts_For_Sharepoint2013_2017_2_503_Dev - Telerik_UI_for_Android_2017_1_118_Dev - Telerik_UI_for_ASP.NET_AJAX_2017_1_118_Demos_Dev - Telerik_UI_for_iOS_2017_1_118_dev - Telerik_UI_for_WindowsPhone8_2017_1_0118_1_DEV - Telerik_UI_for_WindowsUniversal_2017_1_0118_1_Dev Telerik 2017 Source Code, Doc, Demos, Themes, Advanced Samples - telerik.ui.for.jsp.2017.1.223.commercial-source - telerik.ui.for.php.2017.1.214.commercial - telerik.ui.for.php.2017.1.223.commercial-source Reporting 2017 R1 SP1 - Telerik_Reporting_R1_2017_SP1_11_0_17_222_Sources - Telerik_Reporting_R1_2017_SP1_11_0_17_222_manual UI for ASP.NET Core 2017 R1 SP1 - telerik.ui.for.aspnet.core.2017.1.223.commercial-source - Telerik.UI.for.AspNet.Core.2017.1.223.nupkg WPF 2017 R1 SP1 - UI for WPF 2017 R1 SP1 Full Package + Source Code Silverlight 2017 R1 SP1 - UI for Silverlight 2017 R1 SP1 Full Package + Source Code WinForms 2017 R1 Sp1 - UI for Winforms 2017 R1 SP1 Full Package + Source Code ASP.NET AJAX 2017 R1 - UI_for_ASP.NET_AJAX_2017_R1_Full_Package_Source_Code ASP.NET MVC 2017 R1 SP1 - UI for ASP.NET MVC 2017 R1 SP1 Full Package + Source Code Kendo UI 2017 R1 SP1 - KendoUIProfessional.2017.1.223.nupkg - telerik.kendoui.professional.2017.1.223.commercial-source
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值