No, I'm proposing to write your own custom method, using $.validator.addMethod. Custom methods allow you to extend the validation with your application specific requirements.
Jörn On Wed, Oct 29, 2008 at 12:38 AM, Validatorian <[EMAIL PROTECTED]> wrote: > > Maybe I misunderstood you, but it seems like you're referring to "age- > method" as if it already exists? Or are you saying to use "math" and > do it that way? > > On Oct 28, 4:00 pm, "Jörn Zaefferer" <[EMAIL PROTECTED]> > wrote: >> Adding the parent-age-check is just another method. In this case, I'd >> add a custom age-method >> (http://docs.jquery.com/Plugins/Validation/Validator/addMethod), and >> use that together with date and required. >> >> Jörn >> >> On Tue, Oct 28, 2008 at 11:49 PM, Validatorian <[EMAIL PROTECTED]> wrote: >> >> > For what it's worth, if you can think of a better (read: cleaner) way >> > to do what I'm currently doing, please let me know :) >> >> > On Oct 28, 11:26 am, Validatorian <[EMAIL PROTECTED]> wrote: >> >> I'm doing something similar to this >> >> example:http://docs.jquery.com/Plugins/Validation/Methods/required#dependency... >> >> >> I have a date input field, and if you are under 13, it pops up another >> >> field for parent's age.But unlike this example,I want the parent to be >> >> required to be 18 or older.How would I set it up to require the input, >> >> and require it to be over a certain age. >> >> >> It 's also important to note that the inputs are dates, not ages, so I >> >> can't just do "min:18" because it 's more like "Tue Aug 29 2023 >> >> 11:18:38 GMT-0700 (Pacific Daylight Time)" >> >> >> If needed, here's what I am currently doing: >> >> >> function checkAge(parent) { >> >> var min_age = 13; >> >> >> if (parent) { >> >> var dateArray = parent.split('/'); >> >> min_age = 18; >> >> } else { >> >> var dateArray = $('#dateOfBirth').val().split('/'); >> >> } >> >> var year = dateArray[2]; >> >> var month = dateArray[0] - 1; >> >> var day = dateArray[1]; >> >> >> var theirDate = new Date(); >> >> theirDate.setFullYear((parseInt(year) + min_age), month, day); >> >> console.log(theirDate); >> >> var today = new Date(); >> >> console.log(today); >> >> console.log(today - theirDate); >> >> >> if (today < theirDate) { >> >> $('#parentsRequired').show(); >> >> return true; >> >> } else { >> >> $('#parentsRequired').hide(); >> >> return false; >> >> } >> >> >> } >> >> >> .... >> >> >> dateOfBirth: { >> >> required: function(element) { >> >> var check = checkAge(); >> >> return true; >> >> }, >> >> date: true}, >> >> >> parentsDateOfBirth: { >> >> required: function(element) { >> >> return checkAge($(element).val()); >> >> }, >> >> date: true >> >> >> },