RT,当ID为静态时,可以这样写
var msg = "${msg?default("")}";
$().ready(function() {
$("#form").validate({
rules: {
workflowName1: 'required', },
messages: {
workflowName1: '名称不能为空',
}
});
if(msg)
alert(msg);
});但是,由于我ID为form的表单里面的东西是动态添加的,譬如当再添加多一个Input的时候,其ID为workflowName2,总个数为i;
那么这个时候,怎么写才能使validate能够动态判断呢?
我试过直接
var test ="workflowName1";
var msg = "${msg?default("")}";
$().ready(function() {
$("#form").validate({
rules: {
test : 'required', },
messages: {
test : '名称不能为空',
}
});
if(msg)
alert(msg);
});发现test变量和函数里面的根本都不是同一个来的,也就是不能直接用外面var定义的变量我JS不怎么会用,希望指教一下 谢谢

解决方案 »

  1.   


    $("#myinput").rules("add", {
     required: true,
     minlength: 2,
     messages: {
       required: "Required input",
       minlength: jQuery.format("Please, at least {0} characters are necessary")
     }
    });
    多看手册
      

  2.   

    谢谢楼上的回答,但是你的那个是不是指定ID为myinput的来操作的吧.但是现在我的ID是变化的.就是可能有workflowName1,然后还有workflowName2,workflowName3这样,我需要对他们都设置判断部位空
      

  3.   

    你既然能动态产生元素,那么为什么不在产生元素的同时,去添加规则呢$('#click').click(function(){   //获取当前元素的ID
       var id = “xxxx”;
       
       //添加了元素
       addElement(id);   //为什么不在这里添加validate的规则
       $("#"+id).rules("add", {});
       
    });
      

  4.   

    哦哦,谢谢楼上咯,就是在动态增加ID的函数内加上$("#"+id).rules("add", {});
    不过,为啥
    $().ready(function() {
    $("#form").validate({});
    }
    的函数只能在这当前页面而不能写在JS文件中呢.然后这个写在当前页面...我动态添加的也要写在当前页面,不然$("#"+id).rules("add", {});么用白啊白,不过小问题咯..谢谢您的回答
      

  5.   

    var init = false;function init() {
        $("#form").validate({});
        init = true;
    }function addelement() {
        //获取当前元素的ID
       var id = “xxxx”;
       
       //添加了元素
       addElement(id);   if(!init) {
           init();
       }   //为什么不在这里添加validate的规则
       $("#"+id).rules("add", {});
    }