使用自定义文本参数的JSF Bean验证

时间:2014-05-23 12:00:52

标签: bean-validation

我创建了一个类似

的验证约束
@Documented
@Constraint(validatedBy = WordValidator.class)
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Word {

    String message() default "{com.asd.validator.Word}";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};

    /**
     * @return size the element must be higher or equal to
     */
    int min() default 0;

    /**
     * @return size the element must be lower or equal to
     */
    int max() default Integer.MAX_VALUE;
}

使用一些验证器。之后我创建了一个名为ValidationMessages.properties的文件,并在face-config.xml中创建了一个如下所示的条目:

 <application>
        <message-bundle>ValidationMessages</message-bundle>
    </application>

在ValidationMessages.properties中,我添加了以下条目:

com.asd.validator.Word=The words must have min {0} and max {1} characters.

在{0}和{1}中,我想添加验证约束的最小值和最大值。

如何设置文本参数?必须有一种方法,因为标准的jsf验证约束具有带有这种文本参数的消息。

1 个答案:

答案 0 :(得分:0)

你试过了吗?

The words must have min {min} and max {max} characters.