wow thanks it really worked now the element param is kind of useless right? i wonder why it doesn't work :)
anyway huge thanks to Jules On Jul 23, 12:05 pm, Jules <jwira...@gmail.com> wrote: > Your code should have been: > > $.validator.addMethod('myEqual', function (value, element, param) > { > return value >= $(param).val(); // this works know > }, 'Please enter a greater year!'); > > On Jul 23, 12:21 pm, Erwin Purnomo <panda...@gmail.com> wrote: > > > Hello all > > > I have added a method on jQuery validator like this > > > $.validator.addMethod('myEqual', function (value, element) { > > return value == element.value; // this one here didn't work :( > > }, 'Please enter a greater year!'); > > > $.metadata.setType("attr", "validate"); > > > $("#educationForm").validate({ > > showErrors: function(errorMap, errorList) { > > > this.defaultShowErrors(); > > }, > > errorPlacement: function(error, element) { > > error.appendTo( element.parent("td").next > > ("td") ); > > }, > > /*success: function(label) { > > label.text("ok!").addClass("success"); > > },*/ > > rules: { > > txt_end: { > > required: true, > > myEqual: "#txt_begin" > > } > > }, > > submitHandler: function() { > > } > > }); > > > the form looks like this > > > <div id="wrapper_form"> > > <form id="educationForm" name="educationForm" method="post" > > action=""> > > <table width="500" border="0"> > > <tr> > > <td width="100">Period:</td> > > <td width="200"><input type="text" name="txt_begin" > > id="txt_begin" size="8" maxlength="4" class="required year ui-widget- > > content ui-corner-all" /> to > > <input type="text" name="txt_end" id="txt_end" size="8" > > maxlength="4" class="required year ui-widget-content ui-corner-all" /></td> > > > <td width="200"></td> > > </tr> > > <tr> > > <td colspan="2"> > > <input type="submit" name="btn_submit" id="btn_submit" > > value="Submit" class="ui-button ui-state-default ui-corner-all" /> > > <input type="button" name="btn_cancel" id="btn_cancel" > > value="Cancel" class="ui-button ui-state-default ui-corner-all" /> > > </td> > > <td> </td> > > </tr> > > </table> > > </form> > > </div> > > > but why the custom method I added didn't work? > > > return value == element.value; // this one here didn't work :( > > > it always return true for any value :( am I missing something here? I > > didn't use the built in method because later in the form I would > > require to write another method to check for greater or equal and > > lower or equal ( ">=" and "<=" ) I have tested this method with > > greater or equal and lower or equal by replacing the "==" with ">=" or > > with "<=" It didn't work either