Validation 使用PlayFramework进行复杂POJO验证

Validation 使用PlayFramework进行复杂POJO验证,validation,playframework,Validation,Playframework,是否有一种优雅的方法可以通过PlayFramework使用同一POJO中的另一个参数验证POJO参数?我正在寻找一种保持播放错误机制的解决方案 例如: @Entity public class Page extends Model { @Required @Min(0) public Integer minWidth; @Required @Min(0) public Integer maxWidth; } 我需要检查minWidth

是否有一种优雅的方法可以通过PlayFramework使用同一POJO中的另一个参数验证POJO参数?我正在寻找一种保持播放错误机制的解决方案

例如:

@Entity
public class Page extends Model {

    @Required
    @Min(0)
    public Integer minWidth; 

    @Required
    @Min(0)
    public Integer maxWidth; 
}
我需要检查minWidth您需要编写一个并使用@CheckWith注释

您也可以编写自定义注释(与上面相同页面上的文档),但它更复杂。

您需要编写一个注释并使用@CheckWith注释


您也可以编写自定义注释(与上面相同页面上的文档),但它更复杂。

我在文档中读到了这一点,但我认为验证器或注释仅适用于一个参数。如何使用同一对象的另一个值进行检查?例如,我无法在注释参数中传递动态值。Check抽象类(在编写自定义验证器时扩展)中定义的IsSatified方法使用两个参数,一个是被测试对象(在您的案例中是模型),另一个是被测试字段(假设第一个是minWidth)。在方法主体内部,比较minWidth和model.maxWidth。好的,我明白了。感谢您提供此解决方案!我在文档中读到了这一点,但我认为验证器或注释只适用于一个参数。如何使用同一对象的另一个值进行检查?例如,我无法在注释参数中传递动态值。Check抽象类(在编写自定义验证器时扩展)中定义的IsSatified方法使用两个参数,一个是被测试对象(在您的案例中是模型),另一个是被测试字段(假设第一个是minWidth)。在方法主体内部,比较minWidth和model.maxWidth。好的,我明白了。感谢您提供此解决方案!