I am a jquery newbie. I could get the validation rules working in my form. I am using a Java framework and for some reason, when it converts from .xhtml to .html, all the ui component's id/name were prefixed with the form that containing it. I would like to reuse these validation rules for two other forms but because of the prefix issue, I would need to use js variable and pass the formId to the function. For some reason, this gives me a problem:
NOT WORKING
var positionTitle = "#myForm:positionTitle";
$("#" +开发者_运维知识库 formId).validate({
rules:{
positionTitle : {required:true, maxlength:50},
...
WORKING
$("#" + formId).validate({
rules:{
"#myForm:positionTitle" : {required:true, maxlength:50},
...
After you call .validate()
on the form, you an do this:
$("[name='" + positionTitle + "']").rules("add", {required:true, maxlength:50});
...but you can't use the variable as a name in an object literal like that.
The other option is constructing the rules
object before it gets passed into validate()
, but that gets a bit messy as well, I can't say which is better based on the question, but if you have many of these, you may want to go the rules
building route.
精彩评论