Skip to content

Commit

Permalink
Merge pull request #507 from mikadamczyk/EZP-29119
Browse files Browse the repository at this point in the history
EZP-29119: Display proper validation error message when non-image file uploaded in image FieldType
  • Loading branch information
Łukasz Serwatka authored Jun 18, 2018
2 parents 0903394 + 376f197 commit c7736de
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
(function (global) {
const eZ = global.eZ = global.eZ || {};
const SELECTOR_FIELD_LABEL = '.ez-field-edit__label-wrapper .col-form-label';
const SELECTOR_FIELD_LABEL = '.ez-field-edit__label-wrapper .form-control-label';

class BaseFileFieldValidator extends global.eZ.BaseFieldValidator {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@
this.fieldContainer.querySelector(SELECTOR_DATA).removeAttribute('hidden');
this.fieldContainer.querySelector(SELECTOR_PREVIEW).setAttribute('hidden', true);
this.fieldContainer.classList.remove('is-invalid');
[...this.fieldContainer.querySelectorAll('.ez-field-edit__error')].forEach(element => element.remove());

btnRemove.removeEventListener('click', this.handleRemoveFile);

Expand Down
12 changes: 11 additions & 1 deletion src/bundle/Resources/views/content/form_fields.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,14 @@

{% set widget_wrapper_attr = widget_wrapper_attr|default({})|merge({'class': (widget_wrapper_attr.class|default('') ~ ' ez-field-edit__data')|trim}) %}
{% set wrapper_class = 'ez-field-edit ez-field-edit--' ~ fieldtype_identifier %}

{# BC: to maintain BC we have to map errors which orginated from compound fieldtypes #}
{% for error in form.parent.parent.parent.vars.errors %}
{% if error.origin == form.vars.errors.form %}
{% set errors = errors|default([])|merge([error]) %}
{% endif %}
{% endfor %}

{% if required %}{% set wrapper_class = (wrapper_class|default('') ~ ' ez-field-edit--required')|trim %}{% endif %}
{% if errors|length > 0 %}{% set wrapper_class = (wrapper_class|default('') ~ ' is-invalid')|trim %}{% endif %}
{% if fieldtype_is_not_translatable %}
Expand All @@ -89,7 +97,7 @@

<div {% with { attr: wrapper_attr } %}{{ block('attributes') }}{% endwith %}>
<div{% with { attr: label_wrapper_attr } %}{{ block('attributes') }}{% endwith %}>
{{ block('form_label') }}
{% with { 'compound': false } %}{{- block('form_label') }}{% endwith %}
{{ block('form_errors') }}
</div>

Expand Down Expand Up @@ -121,3 +129,5 @@
{%- set type = type|default('number') -%}
{{ block('form_widget_simple') }}
{%- endblock number_widget -%}

{% block form_label_errors %}{% endblock %}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,15 @@
{% set wrapper_attr = wrapper_attr|default({})|merge({'class': (wrapper_attr.class|default('') ~ ' ez-field-edit--with-preview')|trim}) %}
{% set preview_attr = preview_attr|default({})|merge({'class': (preview_attr.class|default('') ~ ' ez-field-edit__preview')|trim}) %}
{% set widget_wrapper_attr = widget_wrapper_attr|default({})|merge({'class': (widget_wrapper_attr.class|default('') ~ ' ez-field-edit__data')|trim}) %}
{% if file_is_empty %}

{% set has_error = false %}
{% for error in form.parent.parent.parent.vars.errors %}
{% if error.origin == form.vars.errors.form %}
{% set has_error = true %}
{% endif %}
{% endfor %}

{% if file_is_empty or has_error %}
{% set preview_attr = preview_attr|default({})|merge({'hidden': 'hidden'}) %}
{% else %}
{% set widget_wrapper_attr = widget_wrapper_attr|merge({'hidden': 'hidden'}) %}
Expand Down

0 comments on commit c7736de

Please sign in to comment.