Thanks for the help, it's working now. My finished validation method looks like this:
jQuery.validator.addMethod ('ccard', function (value, elem) { var pattern = new RegExp (/\*{9,15}[0-9]{4,4}/i); if (pattern.test (value)) { return (true); } else if (jQuery.validator.methods.creditcard.call (this, value, elem)) { return (true); } else { return (this.optional (elem)); } }, 'Enter a valid credit card number'); On May 15, 9:22 pm, "Jörn Zaefferer" <[EMAIL PROTECTED]> wrote: > Ah, should've tried it before posting. This should work: > > jQuery.validator.addMethod ('ccard', function (value, elem) { > return (jQuery.validator.methods.creditcard.call(this, value, elem)); > > }, 'Enter a valid credit card number'); > > Jörn > > On Thu, May 15, 2008 at 5:09 PM, Gordon <[EMAIL PROTECTED]> wrote: > > > I tried writing a test function that just calls the existing function > > so it should give the same results. > > > jQuery.validator.addMethod ('ccard', function (value, elem) > > { > > return (jQuery.validator.methods.creditcard (value, elem)); > > }, 'Enter a valid credit card number'); > > > Unfortunately it didn't work, it just caused firebug to log an > > error. > > > "this.optional is not a function" > > > On May 15, 3:21 pm, "Jörn Zaefferer" <[EMAIL PROTECTED]> > > wrote: > >> You can access the built-in method directly via > >> jQuery.validator.methods.creditcard. You have to provide two > >> arguments, the current value and the element to validate. > > >> var element = $(...)[0]; > >> if (jQuery.validator.methods.creditcard(element.value, element)) > >> // valid > >> else > >> // invalid > > >> Jörn > > >> On Thu, May 15, 2008 at 4:14 PM, Gordon <[EMAIL PROTECTED]> wrote: > > >> > I want to extend the provided cxreditcard method to count a sequence > >> > of * characters followed by 4 digits as a valid value. I need this for > >> > a form where the credit card can be populated from a previously saved > >> > value. Naturally we don't want to display the full number for > >> > security reasons but we need for the user to be able to see the last > >> > four digits. > > >> > My idea was to write a new ccard method that calls the pre-existing > >> > creditcard method. If that method returns true then return true. If > >> > it returns false then check the field value against a regex /\*+[0-9] > >> > {4,4}/. > > >> > How can I write a custom method that makes use of a built in > >> > method?