Further testing is welcome, I plan to release 1.5 on Friday. Jörn
On Tue, Oct 21, 2008 at 8:16 PM, Jörn Zaefferer <[EMAIL PROTECTED]> wrote: > Done! > > You can find the latest revision here: > http://jqueryjs.googlecode.com/svn/trunk/plugins/validate/ > > Jörn > > On Tue, Oct 21, 2008 at 7:08 PM, BobS <[EMAIL PROTECTED]> wrote: >> >> I would love to have this feature. It would save me a bunch of extra >> lines of code. Any idea if and when this might be implemented into >> the plugin? >> >> On Oct 21, 5:55 am, lightglitch <[EMAIL PROTECTED]> wrote: >>> Done. >>> >>> http://dev.jquery.com/ticket/3503 >>> >>> On Oct 21, 9:53 am, "Jörn Zaefferer" <[EMAIL PROTECTED]> >>> wrote: >>> >>> > Could you file a ticket for this?http://dev.jquery.com/newticket >>> > (requires registration) >>> >>> > Thanks! >>> >>> > Jörn >>> >>> > On Mon, Oct 20, 2008 at 8:49 PM, lightglitch <[EMAIL PROTECTED]> wrote: >>> >>> > > I have made a patch for my app to therulesfunction to supportcustom >>> > > messages: >>> >>> > > This is the new function, would be nice to have something similar to >>> > > this. >>> >>> > > rules: function(command, argument) { >>> > > var element = this[0]; >>> >>> > > if (command) { >>> > > var staticRules = $.data(element.form, >>> > > 'validator').settings.rules; >>> > > var existingRules = >>> > > $.validator.staticRules(element); >>> > > switch(command) { >>> > > case "add": >>> > > $.extend(existingRules, >>> > > $.validator.normalizeRule(argument)); >>> > > staticRules[element.name] = >>> > > existingRules; >>> >>> > > /**** PATCH ***/ >>> > > if (argument.messages) { >>> > > if ($.data(element.form, >>> > > 'validator').settings.messages[element.name]) >>> > > $.extend($.data(element.form, >>> > > 'validator').settings.messages[element.name],argument.messages); >>> > > else >>> > > $.data(element.form, >>> > > 'validator').settings.messages[element.name] = argument.messages; >>> > > } >>> > > /**** END PATCH ***/ >>> > > break; >>> > > case "remove": >>> > > if (!argument) { >>> > > delete staticRules[element.name]; >>> > > return existingRules; >>> > > } >>> > > var filtered = {}; >>> > > $.each(argument.split(/\s/), >>> > > function(index, method) { >>> > > filtered[method] = >>> > > existingRules[method]; >>> > > delete existingRules[method]; >>> > > }); >>> > > return filtered; >>> > > } >>> > > } >>> >>> > > var data = $.validator.normalizeRules( >>> > > $.extend( >>> > > {}, >>> > > $.validator.metadataRules(element), >>> > > $.validator.classRules(element), >>> > > $.validator.attributeRules(element), >>> > > $.validator.staticRules(element) >>> > > ), element); >>> >>> > > // make sure required is at front >>> > > if (data.required) { >>> > > var param = data.required; >>> > > delete data.required; >>> > > data = $.extend({required: param}, data); >>> > > } >>> >>> > > return data; >>> > > }, >>> >>> > > And I use it like this: >>> >>> > > $("#field").rules("add", {"required":true,"range":[5,45],"messages": >>> > > {"required":"The field can\'t be blank.","range":"The field must have >>> > > 5 to 45 characters."}}); >>> >>> > > Hope it helps. >>> >>> > > On Oct 9, 11:00 pm, "Jörn Zaefferer" <[EMAIL PROTECTED]> >>> > > wrote: >>> > >> You can use metadata, too. Currently barely documented, and not really >>> > >> recommended either, but works since 1.4. >>> >>> > >> <input class="{required:true,messages:{required:'required field'}}" >>> > >> name="whatever" /> >>> >>> > >> Jörn >>> >>> > >> On Thu, Oct 9, 2008 at 5:20 PM, Bob Silverberg <[EMAIL PROTECTED]> >>> > >> wrote: >>> >>> > >> > Thanks for the quick response. That fixed my problem. >>> >>> > >> > One more question: >>> >>> > >> > I'd like to addcustomerror messages to some of my dynamic >>> > >> > validations. Is it correct that the only way to add acustomerror >>> > >> >messageto a particular rule is either by: >>> >>> > >> > 1. using the form.validate() method >>> > >> > 2. using $.validator.addMethod to clone an existing method >>> >>> > >> > Thanks, >>> > >> > Bob >>> >>> > >> > On Thu, Oct 9, 2008 at 4:22 AM, Jörn Zaefferer >>> > >> > <[EMAIL PROTECTED]> wrote: >>> > >> >> Forrules("add") to work, the element's form has to be validated, >>> > >> >> that >>> > >> >> is, call $("form").validate() first. I've updated the documentation >>> > >> >> accordingly. >>> >>> > >> >> Not sure why the attr-approach failed, I'll take a look at that. >>> >>> > >> >> Jörn >>> >>> > >> >> On Thu, Oct 9, 2008 at 2:37 AM, BobS <[EMAIL PROTECTED]> wrote: >>> >>> > >> >>> I'm working on a server-side component that will generate all of my >>> > >> >>> jQuery validationrulesfrom xml metadata, so I'm trying to >>> > >> >>> dynamically addrulesone at a time. >>> >>> > >> >>> My first attempt was to use therules( "add",rules) syntax, but I'm >>> > >> >>> getting an error on page load: >>> >>> > >> >>> jQuery.data(element.form, "validator") is undefined >>> >>> > >> >>> Here's the syntax I'm using: >>> >>> > >> >>> $("#VerifyPassword").rules('add',{equalTo: '#UserPass'}); which >>> > >> >>> seems >>> > >> >>> to be correct according to the docs. >>> >>> > >> >>> So, I decided to try setting attributes instead, which works fine >>> > >> >>> for >>> > >> >>> the equalTo. For example, this works: >>> >>> > >> >>> $("#VerifyPassword").attr('equalTo','#UserPass'); >>> >>> > >> >>> But when trying to use attr to set a range I cannot figure out >>> > >> >>> what to >>> > >> >>> pass in for the range. >>> >>> > >> >>> I've tried: >>> > >> >>> $("#UserPass").attr('rangelength','[5,10]'); -> yeilds themessage >>> > >> >>> "Please enter a value between NaN and 5 characters long." >>> > >> >>> $("#UserPass").attr('rangelength',[5,10]); --> yields themessage >>> > >> >>> "Please enter a value between 5 and NaN characters long." >>> > >> >>> var theRange = [5,10]; >>> > >> >>> $("#UserPass").attr('rangelength',theRange); -- >>> > >> >>>> yields themessage"Please enter a value between 5 and NaN >>> > >> >>> characters long." >>> >>> > >> >>> So, I really have 2 questions: >>> >>> > >> >>> 1. How can I a rule using therules( "add",rules) syntax, which >>> > >> >>> would be my preferred approach? >>> > >> >>> 2. If I need to add a validation using attr, what format do I use >>> > >> >>> to >>> > >> >>> pass in the value of the rangelength attribute? >>> >>> > >> >>> Thanks in advance for any help anyone can provide, >>> > >> >>> Bob >>> >>> > >> > -- >>> > >> > Bob Silverberg >>> > >> >www.silverwareconsulting.com >