剑道验证器似乎忽略模式属性(正则表达式)

时间:2016-05-31 02:05:18

标签: jquery regex asp.net-mvc html5 kendo-ui

<input id="myID" 
       name="myName" 
       class="form-control k-invalid" 
       data-bind="value: ViewModel.JobNo, visible: Layout.isEditMode"
       required="required" 
       data-required-msg="The Job No. field is required." 
       pattern="\d{10}" 
>

我在表单中有一个输入元素,我想强制用户输入10位数字。

我只是添加一个pattern = "\d{10}"并在我调用validator.validate()时认为它会为我处理验证,但似乎并非如此,确实pattern规则始终被忽略required规则运作正常。

我尝试验证它,因此我在Chrome中打开了开发者控制台,并键入以下内容:

$("#myID").kendoValidator();
$("#myID").data("kendoValidator").validate()

如果我把场地留空,这将给我假,并说它是必需的(好)。

但是如果我输入了一些数字或任何其他应该违反该模式的字符串,这仍然会让我真实并通过验证。

我做错了什么,我怎样才能实现我的目标?谢谢!

1 个答案:

答案 0 :(得分:1)

这可能是因为您错过了type代码中的input属性。添加type属性可以解决问题。

<input id="myID" 
       type="text" <!-- enter what ever type of input it is-->
       name="myName" 
       class="form-control k-invalid" 
       data-bind="value: ViewModel.JobNo, visible: Layout.isEditMode"
       required="required" 
       data-required-msg="The Job No. field is required." 
       pattern="\d{10}" 
>

我使用现有示例创建telerik dojo只是为了显示工作情况。第一个输入没有类型,因此模式验证不起作用,但它适用于第二个输入。