MDL-56296 theme_boost: Do not hide server-side validation errors

When the client side validation passes - do not hide errors that were not
generated by client side validation.
This commit is contained in:
Damyon Wiese 2016-10-27 15:46:05 +08:00
parent 77cfc19a85
commit 7744f89275
2 changed files with 9 additions and 5 deletions

View File

@ -1 +1 @@
define(["jquery","core/event"],function(a,b){return{enhance:function(c){var d=document.getElementById(c);a(d).on(b.Events.FORM_FIELD_VALIDATION,function(b,c){b.preventDefault();var e=a(d).closest(".form-group"),f=e.find(".form-control-feedback");""!==c?(e.addClass("has-danger"),a(d).addClass("form-control-danger"),a(d).attr("aria-describedby",a(d).attr("id")+"-feedback"),f.html(c),f.show()):(e.removeClass("has-danger"),a(d).removeClass("form-control-danger"),a(d).attr("aria-describedby",""),f.hide())})}}});
define(["jquery","core/event"],function(a,b){return{enhance:function(c){var d=document.getElementById(c);a(d).on(b.Events.FORM_FIELD_VALIDATION,function(b,c){b.preventDefault();var e=a(d).closest(".form-group"),f=e.find(".form-control-feedback");""!==c?(e.addClass("has-danger"),e.data("client-validation-error",!0),a(d).addClass("form-control-danger"),a(d).attr("aria-describedby",a(d).attr("id")+"-feedback"),f.html(c),f.show()):e.data("client-validation-error")===!0&&(e.removeClass("has-danger"),e.data("client-validation-error",!1),a(d).removeClass("form-control-danger"),a(d).attr("aria-describedby",""),f.hide())})}}});

View File

@ -31,15 +31,19 @@ define(['jquery', 'core/event'], function($, Event) {
var feedback = parent.find('.form-control-feedback');
if (msg !== '') {
parent.addClass('has-danger');
parent.data('client-validation-error', true);
$(element).addClass('form-control-danger');
$(element).attr('aria-describedby', $(element).attr('id') + '-feedback');
feedback.html(msg);
feedback.show();
} else {
parent.removeClass('has-danger');
$(element).removeClass('form-control-danger');
$(element).attr('aria-describedby', '');
feedback.hide();
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', '');
feedback.hide();
}
}
});
}