0

我有以下脚本,它通过测验使用 jquery.validate.js 验证页面并且运行良好。我希望将必填字段的错误消息放入名为 errormessage 的 div 中。jQuery validate 通常会返回一条消息“此字段是必需的”。

这是脚本

<script type="text/javascript">
var curPage=1;
function NextPage() {
    if (curPage < <?= $num; ?>) {
        var group = "#page_" + curPage.toString();
        var isValid =true;
         $(group).find(':input').each(function (i, item) {
              if (!$(item).valid())
                isValid = false;
            });

        if( !isValid){ alert("PLEASE MAKE A SELECTION"); }
        else{
            $("#page_" + curPage.toString()).hide(); //hide current page div
            curPage++;  //increment curpage
            $("#page_" + curPage.toString()).show(); //show new current page div
        }
    }
}
 function PrevPage() {

     if (curPage > 1) {
         $("#page_" + curPage.toString()).hide(); //show new current page div
         curPage--;  //increment curpage
         $("#page_" + curPage.toString()).show(); //hide current page div
     }
 }

 function InitializePage() {
     $(".wizardPage").hide();
     $("#page_" + curPage.toString()).show();


     $("#surveyForm").validate({onsubmit: false});

 }




 $(document).ready(InitializePage
    );
</script>
4

2 回答 2

1

尝试设置错误容器元素,如下所述:

http://mitchlabrador.com/2010/11/05/how-to-change-the-way-jquery-validate-handles-error-messages/

于 2012-06-22T17:11:01.447 回答
0

将此行切换$("#surveyForm").validate({onsubmit: false});为以下内容-

$("#surveyForm").validate({
    rules: {
    xyz: {
        required: true
    }
},
messages: {
    xyz: {
    required: $('div#errormessage').append("xyz is a required field!");
    }
}
}, onsubmit: false)

它将检查是否xyz已填充。如果没有,它将放入xyz is a required field!一个divwith id errormessage

有关规则的更多详细信息,请查看此页面。向下滚动,直到您到达“规则”。

上面的代码通过为每个字段添加规则,将允许您为每个错误消息指定不同的位置。蜘蛛答案中的博客文章包含一种更简单的做事方式,因此如果您不需要这种可定制性,则更可取。

于 2012-06-22T17:07:40.720 回答