6
6
* @description Core service of this module to provide various default validations.
7
7
*/
8
8
angular . module ( 'bootstrap.angular.validation' ) . factory ( 'BsValidationService' , [ '$interpolate' , 'bsValidationConfig' ,
9
- '$injector' , function ( $interpolate , validationConfig , $injector ) {
9
+ '$injector' , '$filter' , function ( $interpolate , validationConfig , $injector , $filter ) {
10
10
11
11
var displayErrorAsAttrName = 'bsDisplayErrorAs' ;
12
12
var customFormGroup = '[bs-form-group]' ;
@@ -170,6 +170,7 @@ angular.module('bootstrap.angular.validation').factory('BsValidationService', ['
170
170
171
171
resolveMessage : function ( $element , $attr , key ) {
172
172
var metaInformation = this . getMetaInformation ( $element ) ;
173
+ var messageFilters = $element . attr ( key + '-notification-filter' ) || validationConfig . getMessageFilters ( ) ;
173
174
var message = $element . attr ( key + '-notification' ) || validationConfig . messages [ key ] ;
174
175
175
176
if ( ! message ) {
@@ -179,6 +180,16 @@ angular.module('bootstrap.angular.validation').factory('BsValidationService', ['
179
180
message = 'Please fix this field' ;
180
181
}
181
182
183
+ if ( angular . isDefined ( messageFilters ) ) {
184
+ if ( ! angular . isArray ( messageFilters ) ) {
185
+ messageFilters = [ messageFilters ] ;
186
+ }
187
+
188
+ for ( var i = 0 ; i < messageFilters . length ; i ++ ) {
189
+ message = $filter ( messageFilters [ i ] ) ( message ) ;
190
+ }
191
+ }
192
+
182
193
var matchers = angular . extend ( { } , { validValue : $attr [ key ] } , metaInformation ) ;
183
194
return $interpolate ( message ) ( matchers ) ;
184
195
} ,
0 commit comments