覆盖外部jar中的约束

时间:2014-01-25 11:25:34

标签: java bean-validation

我有一个我正在使用的地址库(内部),其中包含一个Address类。 Address类已经在postalCode上包含@NotEmpty验证。

在我的应用程序中,我需要将约束扩展到城市和州/省。 我已经看到了通过xml配置它,然后重建验证工厂以及添加自定义约束的建议。

我尝试后者没有用(@StrictAddress是我的自定义约束):

public addressDTO saveAddress(@StrictAddress @RequestBody Address address)

使用验证器的isValid方法,如下所示:

public boolean isValid(Address address, ConstraintValidatorContext constraintContext)
{
    if (null == address.getStreet() || address.getStreet().trim().isEmpty())
    {
        return false;
    }
    else if (null == address.getCity() || address.getCity().trim().isEmpty())
    {
        return false;
    }
    else if (null == address.getStateProv() || address.getStateProv().trim().isEmpty())
    {
        return false;
    }
    else if (null == address.getPostalCode() || address.getPostalCode().trim().isEmpty())
    {
        return false;
    }
    else if (null == address.getCountry() || address.getCountry().trim().isEmpty())
    {
        return false;
    }
    else
    {
        return true;
    }
}

使用此设置运行时,我没有得到任何已完成验证的指示(它应该已失败)。当我用标准的@Valid替换@StrictAddress时,我在postalCode上得到了原始的验证错误。

我错过了什么?这是解决这个问题的好方法吗?

0 个答案:

没有答案