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

blu*_*os3 3 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},
            ...
Run Code Online (Sandbox Code Playgroud)

工作

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

  rules:{
         "#myForm:positionTitle" : {required:true, maxlength:50},
              ...
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 5

在您致电.validate()表格后,您可以这样做:

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

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

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