MDL-57061 theme_boost: Focus the invalid form elements on error

This commit is contained in:
Frederic Massart
2016-11-23 12:11:57 +08:00
parent 0fbe41f4cd
commit e0c5ffb681
+12 -3
View File
@@ -38,15 +38,24 @@ define(['jquery', 'core/event'], function($, Event) {
parent.addClass('has-danger');
parent.data('client-validation-error', true);
$(element).addClass('form-control-danger');
$(element).attr('aria-describedby', $(element).attr('id') + '-feedback');
$(element).attr('aria-describedby', feedback.attr('id'));
$(element).attr('aria-invalid', true);
feedback.attr('tabindex', 0);
feedback.html(msg);
feedback.show();
// Only display and focus when the error was not already visible.
if (!feedback.is(':visible')) {
feedback.show();
feedback.focus();
}
} else {
if (parent.data('client-validation-error') === true) {
parent.removeClass('has-danger');
parent.data('client-validation-error', false);
$(element).removeClass('form-control-danger');
$(element).attr('aria-describedby', '');
$(element).removeAttr('aria-describedby');
$(element).attr('aria-invalid', false);
feedback.hide();
}
}