11'use strict' ;
22
3- angular . module ( 'bootstrap.angular.validation' ) . factory ( 'simpleMessageService' , [ 'BsValidationService' , function ( validationService ) {
3+ angular . module ( 'bootstrap.angular.validation' ) . factory ( 'simpleMessageService' , [ 'BsValidationService' , 'bsValidationConfig' ,
4+ function ( validationService , validationConfig ) {
45
56 var errorElementClass = '.bs-invalid-msg' ;
6- var helpBlockClass = '.help-block' ;
77
8- var errorClasses = [ errorElementClass . substring ( 1 ) , helpBlockClass . substring ( 1 ) ] ;
9- var markupClasses = errorClasses . join ( ' ' ) ;
10-
11- var iconMarkup = '<i class="fa fa-exclamation-triangle fa-fw"></i>' ;
8+ function errorContainer ( $element , $formGroupElement ) {
9+ var $errorElement = $formGroupElement . findOne ( errorElementClass ) ;
10+ if ( $errorElement && $errorElement . length ) {
11+ return $errorElement ;
12+ }
1213
13- function errorContainer ( $element , $formGroupElement , message ) {
1414 var insertAfter ;
1515
1616 // Check if the container have any Bootstrap input group then append the error after it
@@ -21,15 +21,14 @@ angular.module('bootstrap.angular.validation').factory('simpleMessageService', [
2121 insertAfter = $element ;
2222 }
2323
24- message = '<span class="' + markupClasses + '">' + iconMarkup + message + '</span>' ;
25-
26- insertAfter . after ( message ) ;
24+ insertAfter . after ( '<span class="help-block ' + errorElementClass . substring ( 1 ) + '"></span>' ) ;
25+ return $formGroupElement . findOne ( errorElementClass ) ;
2726 }
2827
2928 return {
3029 hideErrorMessage : function ( $element , $formGroupElement ) {
3130 validationService . removeErrorClass ( $formGroupElement ) ;
32- $formGroupElement . findAll ( 'span.' + errorClasses . join ( '.' ) ) . addClass ( 'ng-hide' ) ;
31+ $formGroupElement . findAll ( errorElementClass ) . addClass ( 'ng-hide' ) ;
3332 } ,
3433
3534 resolveMessage : function ( $element , $attr , key ) {
@@ -38,14 +37,10 @@ angular.module('bootstrap.angular.validation').factory('simpleMessageService', [
3837
3938 showErrorMessage : function ( $element , $attr , ngModelController , $formGroupElement ) {
4039 var firstErrorKey = Object . keys ( ngModelController . $error ) [ 0 ] ;
41- var message = this . resolveMessage ( $element , $attr , firstErrorKey ) ;
42-
43- var errorElement = $formGroupElement . findOne ( errorElementClass ) ;
44- if ( errorElement . length === 0 ) {
45- errorContainer ( $element , $formGroupElement , message ) ;
46- }
40+ var message = validationConfig . getErrorMessagePrefix ( ) + this . resolveMessage ( $element , $attr , firstErrorKey ) ;
4741
48- errorElement . html ( iconMarkup + message ) . removeClass ( 'ng-hide' ) ;
42+ var $errorElement = errorContainer ( $element , $formGroupElement ) ;
43+ $errorElement . html ( message ) . removeClass ( 'ng-hide' ) ;
4944 }
5045 } ;
5146} ] ) ;
0 commit comments