验证具有[或]名称或ID的表单字段

时间:2014-10-24 12:27:32

标签: javascript jquery validation

我正在使用jquery.validate.min.js进行表单字段验证。

我有一些名称为JFromField[contactname]的字段(因为我使用的是Joomla,它来自后端)意味着名称中包含[]

所以在规则中,我该怎么做?

   rules:{
           myFieldName : {    required: true     }
         }

另一个问题是可以根据rules指定ID吗?

2 个答案:

答案 0 :(得分:0)

由于[]不是有效的标识符,您可以将密钥作为字符串传递,如



$('form').validate({
  rules: {
    myFieldName: {
      required: true
    },
    'JFromField[contactname]': {
      required: true
    }
  }
});

//to simulate validation since form submit is prevented
$('#save').click(function(){
  return $('form').valid()
})

<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/jquery.validate.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/additional-methods.js"></script>

<form>
  <input name="myFieldName" />
  <br />
  <input name="JFromField[contactname]" />
  <br />
  <input type="button" id="save" value="Save" />
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

javascript对象的语法。使用“或”将带[]的字段分配给对象。并使用[“field”]获取值。

var r = { rules: { "JFromField[contactname]" : {    required: true     } } };
console.log(r);
console.log(r.rules);
console.log(r.rules["JFromField[contactname]"]);
console.log(r.rules["JFromField[contactname]"].required);