我的html代码如下:
<form class="validatedForm" id="commentForm" method="get" action="">
<fieldset>
<input name="password" id="password" />
<input name="password_confirmation" />
</fieldset>
</form>
<button>Validate</button>使用jquery验证的javascript代码如下所示:
jQuery('.validatedForm').validate({
rules: {
"password": {
minlength: 6
},
"password_confirmation": {
minlength: 6,
equalTo : "#password"
}
},
messages: {
"password": 'Please enter a password, minimal 6 characters',
"password_confirmation": 'Please confirm your password'
},
});演示和完整代码如下:http://jsfiddle.net/oscar11/fEZFB/609/
如果用户输入密码:abcdef,然后单击验证按钮,就会有消息:“请确认您的密码”。
如果用户输入密码确认:ghijkl,则存在以下消息:“请确认您的密码”
如果用户输入密码确认不相同,我想更改消息。
这样的信息:“确认您的密码不一样”
因此,有两条信息:
我该怎么做呢?
发布于 2017-11-03 03:56:11
我想这会涵盖你要找的东西。您不限于每个输入一个消息-您可以为每个输入的每个规则设置一个。我在HTML中添加了一个中断,以使其更具可读性。
<form class="validatedForm" id="commentForm" method="get" action="">
<fieldset>
<input name="password" id="password" /><br/>
<input name="password_confirmation" id="password_confirmation" />
</fieldset>
</form>
<button>Validate</button>更新后的脚本:
jQuery('.validatedForm').validate({
rules: {
"password": {
minlength: 6,
required: true
},
"password_confirmation": {
equalTo: "#password"
}
},
messages: {
"password": {
minLength: "Password must be at least 6 charachters",
required: "Password is required."
},
"password_confirmation": {
equalTo: "The password and confimation fields don't match"
}
},
});
$('button').click(function () {
console.log($('.validatedForm').valid());
});我在密码中添加了一个必需的规则,所以用空白的表单单击validate就会生成一条消息。我在确认时删除了最小长度-它只需要等于密码,并且它有一个最小长度。密码太短有自己的消息,当密码足够长时,当确认字段为空或不等于密码时,您将得到另一条消息。你可以从小提琴上看到它:http://jsfiddle.net/oscar11/fEZFB/609/
https://stackoverflow.com/questions/47086843
复制相似问题