Bug Tracker

Changeset 5695

Show
Ignore:
Timestamp:
05/25/08 22:09:25 (8 months ago)
Author:
joern.zaefferer
Message:

validate: * Implemented #2908, enabling custom messages via metadata ala class="{required:true,messages:{required:'required field'}}"

Location:
trunk/plugins/validate
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/plugins/validate/changelog.txt

    r5691 r5695  
    22--- 
    33* Fixed #2931, validate elements in document order and ignore type=image inputs 
     4* Implemented #2908, enabling custom messages via metadata ala class="{required:true,messages:{required:'required field'}}" 
    45 
    561.3 
  • trunk/plugins/validate/jquery.validate.js

    r5694 r5695  
    499499        }, 
    500500         
     501        // return the custom message for the given element and validation method 
     502        // specified in the element's "messages" metadata 
     503        customMetaMessage: function(element, method) { 
     504            if (!jQuery.metadata) 
     505                return; 
     506             
     507            var meta = this.settings.meta 
     508                ? jQuery(element).metadata()[this.settings.meta] 
     509                : jQuery(element).metadata(); 
     510             
     511            return meta.messages && meta.messages[method]; 
     512        }, 
     513         
    501514        // return the custom message for the given element name and validation method 
    502515        customMessage: function( name, method ) { 
     
    519532            return this.findDefined( 
    520533                this.customMessage( element.name, method ), 
     534                this.customMetaMessage( element, method ), 
    521535                // title is never undefined, so handle empty string as undefined 
    522536                element.title || undefined, 
     
    832846                delete rules.maxlength; 
    833847            } 
     848        } 
     849         
     850        // To support custom messages in metadata ignore rule methods titled "messages" 
     851        if (rules.messages) { 
     852            delete rules.messages 
    834853        } 
    835854