Fork me on GitHub
<< back to Core Developers Guide Edit on GitHub

date validator

Description

Field Validator that checks if the date supplied is within a specific range.

NOTE: If no date converter is specified, XWorkBasicConverter will kick in to do the date conversion, which by default using the Date.SHORT format using the a problematically specified locale else falling back to the system default locale.

Parameters

You can either use the min / max value or minExpression / maxExpression (when parse is set to true) - using expression can be slightly slower, see the example below.

Warning Do not use ${minExpression} and ${maxExpression} as an expression as this will turn into infinitive loop!

Examples

<validators>
    <!-- Plain Validator syntax -->
    <validator type="date">
        <param name="fieldName">birthday</param>
        <param name="min">01/01/1990</param>
        <param name="max">01/01/2000</param>
        <message>Birthday must be within ${min} and ${max}</message>
    </validator>
 
    <!-- Field Validator Syntax -->
    <field name="birthday">
        <field-validator type="date">
            <param name="min">01/01/1990</param>
            <param name="max">01/01/2000</param>
            <message>Birthday must be within ${min} and ${max}</message>
        </field-validator>
    </field>
 
    <!-- Field Validator Syntax with expression -->
    <field name="birthday">
        <field-validator type="date">
            <param name="minExpression">${minValue}</param> <!-- will be evaluated as: Date getMinValue() -->
            <param name="maxExpression">${maxValue}</param> <!-- will be evaluated as: Date getMaxValue() -->
            <message>Age needs to be between ${min} and ${max}</message>
        </field-validator>
    </field>
</validators>