Skip to content

Commit 273adf9

Browse files
hranickadg
authored andcommitted
netteForms.js: displays all errors at once [Closes #65]
1 parent 789fa30 commit 273adf9

File tree

1 file changed

+21
-8
lines changed

1 file changed

+21
-8
lines changed

src/assets/netteForms.js

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -271,15 +271,28 @@ Nette.addError = function(elem, message) {
271271
* Display error messages.
272272
*/
273273
Nette.showFormErrors = function(form, errors) {
274-
if (!errors.length) {
275-
return;
276-
}
277-
var error = errors[0];
278-
if (error.message) {
279-
alert(error.message);
274+
var messages = [],
275+
focusElem;
276+
277+
for (var i in errors) {
278+
var elem = errors[i].element,
279+
message = errors[i].message;
280+
281+
if (messages.indexOf(message) < 0) {
282+
messages.push(message);
283+
284+
if (!focusElem && elem.focus) {
285+
focusElem = elem;
286+
}
287+
}
280288
}
281-
if (error.element.focus) {
282-
error.element.focus();
289+
290+
if (messages.length) {
291+
alert(messages.join('\n'));
292+
293+
if (focusElem) {
294+
focusElem.focus();
295+
}
283296
}
284297
};
285298

0 commit comments

Comments
 (0)