我肯定我只是忽略了一些简单的…但是我想在jQuery-steps表单验证中在无效输入项(如文本框)旁边显示文本错误消息。基于jquery步骤的代码,在这里。
从我一直在阅读的内容来看,这应该是可行的:
<script>
$(function ()
{
/* function errorPlacement(error, element)
{
element.before(error);
}*/
$("#form").validate({
rules: {
zip: {
required: true,
digits:true,
maxlength:5,
minlength:5
},
messages: {
zip: "entr da zip dode"
}
}
});
$("#wizard").steps({
headerTag: "h3",
bodyTag: "section",
transitionEffect: "slideLeft",
onStepChanging: function (event, currentIndex, newIndex)
{
// Allways allow step back to the previous step even if the current step is not valid!
if (currentIndex > newIndex)
{
return true;
}
$("#form").validate().settings.ignore = ":disabled,:hidden";
return $("#form").valid();
},
onFinishing: function (event, currentIndex)
{
$("#form").validate().settings.ignore = ":disabled";
return $("#form").valid();
},
onFinished: function (event, currentIndex)
{
alert("Thank you! Your request has been sumbitted.");
}
});
});
//PHONE NUMBER MASKING FUNCTION
jQuery(function($){
$("#phone").mask("999-999-9999",{placeholder:" "});
});
但是验证只是忽略了这一点,只是在无效项上添加'class="error"',而不附加标签或div(等)来显示消息。
我错过了什么?
将规则和消息设置为两个独立的对象。试试这个(您可以取消min/max消息的注释,看看它们是如何工作的):
$('#form').validate({
rules: {
zip: {
required: true,
digits: true,
minlength: 5,
maxlength: 5
}
},
messages: {
zip: {
//minlength: jQuery.format("Zip must be {0} digits in length"),
//maxlength: jQuery.format("Please use a {0} digit zip code"),
required: "entr da zip dode"
}
}
});