使用javax.validation.Validator获取字段的所有约束违例

时间:2013-03-09 17:56:48

标签: bean-validation

我有以下字段:

@Size(min=1, max=64)
@NotNull(message="may not be blank")
private String name;

我想哄骗验证给我所有的约束违规。例如,当将name设置为'null'时,我想收到:“可能不是空白”和“大小必须介于1到64之间”

目前我只收到:“可能不是空白”

有关如何配置验证引擎的任何提示?这是我目前通过Spring的配置:

<bean id="validator"
    class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
    <property name="validationPropertyMap">
        <util:map>
            <entry key="hibernate.validator.fail_fast" value="false" />
        </util:map>
    </property>
</bean>

1 个答案:

答案 0 :(得分:0)

Bean Validation规范建议将null视为有效值;所有内置约束(例如@Size)都遵循该建议(当然除了@NotNull),因此null值只会在您的情况下为@NotNull约束创建违规

我看到的这个要求的唯一解决方案是通过XML constraint mapping禁用内置约束的默认验证器,并注册处理null无效的自定义实现。