为什么 jQuery Validate 会忽略 Html 输入模式?
Why does jQuery Validate ignore the Html input pattern?
我正在尝试使用 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!");
}
});
Link 例如:JSFiddle
我尝试将输入限制为字母数字字符加上 - 和 _。但是看起来模式被jQuery验证忽略了,尝试在输入字段中输入'hello guys!!',它会警告'Great!',但输入无效。
默认情况下,pattern
规则不是此插件的一部分。但是,您只需 include the additional-methods.js
file 即可添加它。
你的 jsFiddle:jsfiddle.net/8mhzrdyv/
作为旁注,您不应该在 click
处理程序中初始化插件。查看您的简单演示,首先确实不需要 click
处理程序。通过调用初始化插件的 .validate()
,click
事件由插件本身自动处理。
$(function() {
$("#testform").validate(); // initialize plugin
});
我正在尝试使用 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!");
}
});
Link 例如:JSFiddle
我尝试将输入限制为字母数字字符加上 - 和 _。但是看起来模式被jQuery验证忽略了,尝试在输入字段中输入'hello guys!!',它会警告'Great!',但输入无效。
默认情况下,pattern
规则不是此插件的一部分。但是,您只需 include the additional-methods.js
file 即可添加它。
你的 jsFiddle:jsfiddle.net/8mhzrdyv/
作为旁注,您不应该在 click
处理程序中初始化插件。查看您的简单演示,首先确实不需要 click
处理程序。通过调用初始化插件的 .validate()
,click
事件由插件本身自动处理。
$(function() {
$("#testform").validate(); // initialize plugin
});