The rules method applies to individual elements, not the whole form. Call it directly on the age-field, and it should work.
Jörn On Fri, Dec 4, 2009 at 1:34 PM, Eva <eva.villarr...@gmail.com> wrote: > Hi all, > > I get an error when using rules('remove') from Jörn Zaefferer's > Validate plugin. > > The error is: > > elem is undefined > [Break on this error] var id = elem[ expando ];\r\n > > The code is: > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" > "http://www.w3.org/TR/html4/loose.dtd"> > <html> > <head> > <script src="http://code.jquery.com/jquery-latest.js"></script> > > <script> > $(document).ready(function(){ > $("#myform").validate({ > rules: { > 'fname': "required", > 'lname': { required: true } > }, > messages: { > 'fname': "Name is required", > 'lname': "Lastname is required" > }, errorLabelContainer: "#messageBox", > wrapper: "li", > submitHandler: function() { alert("Submitted!") } > }) > }); > </script> > > <script> > function change() { > alert('changing rules'); > $("#myform").rules('remove'); > $("#myform").rules('add', { > 'age': { > required : true, > messages : { > required: "Age required"} > } > } > ); > } > </script> > > </head> > <body> > <script type="text/javascript" src="http://dev.jquery.com/view/trunk/ > plugins/validate/jquery.validate.js<http://dev.jquery.com/view/trunk/%0Aplugins/validate/jquery.validate.js> > "></script> > <ul id="messageBox"></ul> > <form id="myform" action="/login" method="post"> > <label>Firstname</label> > <input name="fname" /> > <label>Lastname</label> > <input name="lname" /> > <label>Age</label> > <input name="age" /> > <label>Adress</label> > <input name="address" /> > <br/> > <input type="submit" value="Submit"/> > <input type="submit" value="Other Submit" onclick="change();"/> > </form> > </body> > </html> > > > I've missed something or it's a bug in the plugin? > > Thanks in advance. > >