Inputs
An <input> element corresponds to a HTTP form input parameter, given by the mandatory name attribute. Optional attributes are
- array - a boolean, specifying if this input is a scalar or array input. The default value is false.
- ignore - a boolean expression (without leading '${' and trailing '}'); if specified, the expression will be evaluated before validating the input. If it evaluates to true, validation will be skipped for that input. If a form is valid or not does not depend on ignored inputs.
- relax - a boolean expression (without leading '${' and trailing '}'); if specified, the expression will be evaluated when validating the input has failed. If it evaluates to true, no error message will be generated. However, the form is still invalid.
An <input> element contains one or more <field> elements. Each field maps to a different property. Per definition, an input is valid, if one of its fields is valid. The first valid field will get its value mapped to its form data property. All other fields will map null to their form data properties.
When validating an input fails, a message will be generated (except if it its relaxed expression evaluates to true). The default is to take the message from the last nested field (the last field for which validation failed). Explicitly specifying a message on input level overrides this behavior.


