mirror of
https://github.com/jquery-validation/jquery-validation.git
synced 2025-12-14 20:35:47 +01:00
Core: move message processing from formatAndAdd to defaultMessage
Fixes #741. Closes #1644.
This commit is contained in:
committed by
Markus Staab
parent
43ffa81180
commit
a3cc0c0a70
38
src/core.js
38
src/core.js
@@ -215,6 +215,9 @@ $.validator.format = function( source, params ) {
|
||||
return $.validator.format.apply( this, args );
|
||||
};
|
||||
}
|
||||
if ( params === undefined ) {
|
||||
return source;
|
||||
}
|
||||
if ( arguments.length > 2 && params.constructor !== Array ) {
|
||||
params = $.makeArray( arguments ).slice( 1 );
|
||||
}
|
||||
@@ -767,26 +770,29 @@ $.extend( $.validator, {
|
||||
return undefined;
|
||||
},
|
||||
|
||||
defaultMessage: function( element, method ) {
|
||||
return this.findDefined(
|
||||
this.customMessage( element.name, method ),
|
||||
this.customDataMessage( element, method ),
|
||||
defaultMessage: function( element, rule ) {
|
||||
var message = this.findDefined(
|
||||
this.customMessage( element.name, rule.method ),
|
||||
this.customDataMessage( element, rule.method ),
|
||||
|
||||
// 'title' is never undefined, so handle empty string as undefined
|
||||
!this.settings.ignoreTitle && element.title || undefined,
|
||||
$.validator.messages[ method ],
|
||||
"<strong>Warning: No message defined for " + element.name + "</strong>"
|
||||
);
|
||||
},
|
||||
|
||||
formatAndAdd: function( element, rule ) {
|
||||
var message = this.defaultMessage( element, rule.method ),
|
||||
// 'title' is never undefined, so handle empty string as undefined
|
||||
!this.settings.ignoreTitle && element.title || undefined,
|
||||
$.validator.messages[ rule.method ],
|
||||
"<strong>Warning: No message defined for " + element.name + "</strong>"
|
||||
),
|
||||
theregex = /\$?\{(\d+)\}/g;
|
||||
if ( typeof message === "function" ) {
|
||||
message = message.call( this, rule.parameters, element );
|
||||
} else if ( theregex.test( message ) ) {
|
||||
message = $.validator.format( message.replace( theregex, "{$1}" ), rule.parameters );
|
||||
}
|
||||
|
||||
return message;
|
||||
},
|
||||
|
||||
formatAndAdd: function( element, rule ) {
|
||||
var message = this.defaultMessage( element, rule );
|
||||
|
||||
this.errorList.push( {
|
||||
message: message,
|
||||
element: element,
|
||||
@@ -1032,7 +1038,7 @@ $.extend( $.validator, {
|
||||
return $.data( element, "previousValue" ) || $.data( element, "previousValue", {
|
||||
old: null,
|
||||
valid: true,
|
||||
message: this.defaultMessage( element, "remote" )
|
||||
message: this.defaultMessage( element, { method: "remote" } )
|
||||
} );
|
||||
},
|
||||
|
||||
@@ -1421,8 +1427,8 @@ $.extend( $.validator, {
|
||||
validator.showErrors();
|
||||
} else {
|
||||
errors = {};
|
||||
message = response || validator.defaultMessage( element, "remote" );
|
||||
errors[ element.name ] = previous.message = $.isFunction( message ) ? message( value ) : message;
|
||||
message = response || validator.defaultMessage( element, { method: "remote", parameters: value } );
|
||||
errors[ element.name ] = previous.message = message;
|
||||
validator.invalid[ element.name ] = true;
|
||||
validator.showErrors( errors );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user