Skip to content

Commit 312ca1b

Browse files
hranickadg
authored andcommitted
netteForms.js: displays all errors at once [Closes #65]
1 parent f1de028 commit 312ca1b

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
@@ -270,15 +270,28 @@ Nette.addError = function(elem, message) {
270270
* Display error messages.
271271
*/
272272
Nette.showFormErrors = function(form, errors) {
273-
if (!errors.length) {
274-
return;
275-
}
276-
var error = errors[0];
277-
if (error.message) {
278-
alert(error.message);
273+
var messages = [],
274+
focusElem;
275+
276+
for (var i in errors) {
277+
var elem = errors[i].element,
278+
message = errors[i].message;
279+
280+
if (messages.indexOf(message) < 0) {
281+
messages.push(message);
282+
283+
if (!focusElem && elem.focus) {
284+
focusElem = elem;
285+
}
286+
}
279287
}
280-
if (error.element.focus) {
281-
error.element.focus();
288+
289+
if (messages.length) {
290+
alert(messages.join('\n'));
291+
292+
if (focusElem) {
293+
focusElem.focus();
294+
}
282295
}
283296
};
284297

0 commit comments

Comments
 (0)