Skip to content

Commit 6b22fe2

Browse files
author
Huei Tan
committed
Merge pull request #82 from tb/bootstrap-form-group
Toggle has-error on bootstrap form-group
2 parents 7fdffea + bd8e73f commit 6b22fe2

File tree

5 files changed

+44
-1
lines changed

5 files changed

+44
-1
lines changed

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,19 @@ $validationProvider.setErrorHTML(function (msg) {
125125

126126
You can add the bootstrap class `.has-success` in a similar fashion.
127127

128+
To toggle `.has-error` class on bootstrap `.form-group` wrapper for labels and controls, add:
129+
130+
```javascript
131+
angular.extend($validationProvider, {
132+
validCallback: function (element){
133+
$(element).parents('.form-group:first').removeClass('has-error');
134+
},
135+
invalidCallback: function (element) {
136+
$(element).parents('.form-group:first').addClass('has-error');
137+
}
138+
});
139+
```
140+
128141
CHANGELOG
129142
=====
130143
See [release](https://github.com/huei90/angular-validation/releases)

dist/angular-validation.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,17 @@
222222
return deferred.promise;
223223
};
224224

225+
/**
226+
* Do this function if validation valid
227+
* @param element
228+
*/
229+
this.validCallback = null;
230+
231+
/**
232+
* Do this function if validation invalid
233+
* @param element
234+
*/
235+
this.invalidCallback = null;
225236

226237
/**
227238
* reset the specific form
@@ -269,6 +280,8 @@
269280
showErrorMessage: this.showErrorMessage,
270281
checkValid: this.checkValid,
271282
validate: this.validate,
283+
validCallback: this.validCallback,
284+
invalidCallback: this.invalidCallback,
272285
reset: this.reset
273286
};
274287
}
@@ -312,6 +325,7 @@
312325
}
313326
ctrl.$setValidity(ctrl.$name, true);
314327
if (scope.validCallback) scope.validCallback();
328+
if ($validationProvider.validCallback) $validationProvider.validCallback(element);
315329

316330
return true;
317331
};
@@ -343,6 +357,7 @@
343357
}
344358
ctrl.$setValidity(ctrl.$name, false);
345359
if (scope.inValidCallback) scope.inValidCallback();
360+
if ($validationProvider.invalidCallback) $validationProvider.invalidCallback(element);
346361

347362
return false;
348363
};

dist/angular-validation.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/directive.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
}
3434
ctrl.$setValidity(ctrl.$name, true);
3535
if (scope.validCallback) scope.validCallback();
36+
if ($validationProvider.validCallback) $validationProvider.validCallback(element);
3637

3738
return true;
3839
};
@@ -64,6 +65,7 @@
6465
}
6566
ctrl.$setValidity(ctrl.$name, false);
6667
if (scope.inValidCallback) scope.inValidCallback();
68+
if ($validationProvider.invalidCallback) $validationProvider.invalidCallback(element);
6769

6870
return false;
6971
};

src/provider.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,17 @@
218218
return deferred.promise;
219219
};
220220

221+
/**
222+
* Do this function if validation valid
223+
* @param element
224+
*/
225+
this.validCallback = null;
226+
227+
/**
228+
* Do this function if validation invalid
229+
* @param element
230+
*/
231+
this.invalidCallback = null;
221232

222233
/**
223234
* reset the specific form
@@ -265,6 +276,8 @@
265276
showErrorMessage: this.showErrorMessage,
266277
checkValid: this.checkValid,
267278
validate: this.validate,
279+
validCallback: this.validCallback,
280+
invalidCallback: this.invalidCallback,
268281
reset: this.reset
269282
};
270283
}

0 commit comments

Comments
 (0)