我正在尝试使用jQuery validate来验证输入是否与输入模式匹配,但是看起来它没有检查该模式。
HTML:
<form id="testform">
<input id="MyInput"
name="MyInput"
pattern="[A-Za-z0-9-_]"
minlength="6"
data-msg-pattern="Wrong input"
data-msg-minlength="Too short"
data-msg-required="Input required"
required/>
<button class="btn btn-primary" id="AddMyInput">Add</button>
</form>
Javascript:
$("#AddMyInput").click(function () {
event.preventDefault();
myvalidator = $("#testform").validate();
if (myvalidator.form()) {
alert("Great!");
}
});
链接到示例:JSFiddle
我尝试将输入限制为字母数字字符加-和_。但看起来该模式已被jQuery Validate忽略,请尝试输入“ hello guys!”。在输入字段中,它将警告“ Great!”,但输入无效。
答案 0 :(得分:1)
默认情况下,pattern
规则不属于此插件。但是,您只需要include the additional-methods.js
file即可添加它。
您的jsFiddle:jsfiddle.net/8mhzrdyv/
请注意,您不应该在click
处理程序内部初始化插件。看一下您的简单演示,实际上根本不需要click
处理程序。通过调用初始化插件的.validate()
,click
事件将由插件本身自动处理。
$(function() {
$("#testform").validate(); // initialize plugin
});