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:…but you can’t use the variable as a name in an object literal like that.
The other option is constructing the
rulesobject before it gets passed intovalidate(), 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 therulesbuilding route.