{# -- Input Form Field Component -- This component makes it easier to use input fields in a form. It will implement all necessary accessibility best-practices and field validation for you. Properties: * id (required) - The id attriute of the input field. * name (required) - The name attribute of the input field. * type (optional) - The type attribute of the input field. Default is "text". * label (optional) - The text content of the field label. * value (optional) - The initial value of the field. * placeholder (optional) - The placeholder attribute of the input field. * minlength (optional) - The minlength attribute of the input field. * maxlength (optional) - The maxlength attribute of the input field. * disabled (optional) - The disabled attribute of the input field. * validationRules (optional) - A comma-separated list of rules the field should be validated against via client validation. * violationPath (optional) - The key under which validation errors are stored within the response of a server validation. * additionalClass (optional) - Additional css class names that are added to the form-group wrapper element. * additionalInputClass (optional) - Additional css class names that are added to the input element. * attributes (optional) - Additional attributes that are added to the input element. #} {% block component_form_input %} {% if not type %} {% set type = 'text' %} {% endif %} {% set isInvalid = false %} {% if (violationPath is not empty and formViolations.getViolations(violationPath) is not empty) or error is not empty %} {% set isInvalid = true %} {% endif %} {% set feedbackId = "#{id}-feedback" %} {% set descriptionId = "#{id}-description" %} {% set areaDescribedBy = "#{feedbackId}" %} {% if description is not empty %} {% set areaDescribedBy = "#{descriptionId} #{feedbackId}" %} {% endif %}