66 * @description Core service of this module to provide various default validations.
77 */
88angular . module ( 'bootstrap.angular.validation' ) . factory ( 'BsValidationService' , [ '$interpolate' , 'bsValidationConfig' ,
9- '$injector' , function ( $interpolate , validationConfig , $injector ) {
9+ '$injector' , '$filter' , function ( $interpolate , validationConfig , $injector , $filter ) {
1010
1111 var displayErrorAsAttrName = 'bsDisplayErrorAs' ;
1212 var customFormGroup = '[bs-form-group]' ;
@@ -170,6 +170,7 @@ angular.module('bootstrap.angular.validation').factory('BsValidationService', ['
170170
171171 resolveMessage : function ( $element , $attr , key ) {
172172 var metaInformation = this . getMetaInformation ( $element ) ;
173+ var messageFilters = $element . attr ( key + '-notification-filter' ) || validationConfig . getMessageFilters ( ) ;
173174 var message = $element . attr ( key + '-notification' ) || validationConfig . messages [ key ] ;
174175
175176 if ( ! message ) {
@@ -179,6 +180,16 @@ angular.module('bootstrap.angular.validation').factory('BsValidationService', ['
179180 message = 'Please fix this field' ;
180181 }
181182
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+
182193 var matchers = angular . extend ( { } , { validValue : $attr [ key ] } , metaInformation ) ;
183194 return $interpolate ( message ) ( matchers ) ;
184195 } ,
0 commit comments