<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()
如果我把场地留空,这将给我假,并说它是必需的(好)。
但是如果我输入了一些数字或任何其他应该违反该模式的字符串,这仍然会让我真实并通过验证。
我做错了什么,我怎样才能实现我的目标?谢谢!
答案 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只是为了显示工作情况。第一个输入没有类型,因此模式验证不起作用,但它适用于第二个输入。