3

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},
              ...

1 Answer 1

5

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.

Sign up to request clarification or add additional context in comments.

1 Comment

@blu3_ros3: could you please post your solution if it differs from Nick's?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.