在JQuery验证规则中使用字段名称变量

时间:2010-10-01 13:36:48

标签: javascript jquery richfaces jquery-validate

我是一个jquery新手。我可以在我的表单中使用验证规则。我正在使用Java框架,出于某种原因,当它从.xhtml转换为.html时,所有ui组件的id / name都以包含它的形式为前缀。我想将这些验证规则重用于其他两种形式,但由于前缀问题,我需要使用js变量并将formId传递给函数。出于某种原因,这给我一个问题:


不工作

var positionTitle = "#myForm:positionTitle";

$("#" + formId).validate({

  rules:{
        positionTitle : {required:true, maxlength:50},
            ...

WORKING

$("#" + formId).validate({

  rules:{
         "#myForm:positionTitle" : {required:true, maxlength:50},
              ...

1 个答案:

答案 0 :(得分:5)

在表单上调用.validate()后,您可以执行以下操作:

$("[name='" + positionTitle + "']").rules("add", {required:true, maxlength:50});

...但是您不能将变量用作对象文字中的名称。

另一个选择是在rules对象传递到validate()之前构建它,但是这也有点混乱,我不能说基于这个问题哪个更好,但是如果你有很多这些,你可能想要rules建筑路线。