Play框架中的表单验证

时间:2015-07-01 15:14:00

标签: java json validation playframework playframework-2.0

我正在用Java中的Play 2.3创建一个Play应用程序。

我正在尝试使用Form来处理带有JSON正文的POST请求。

我的问题是,如果我的JSON是一个只有Strings或Floats属性的简单对象,它运行良好。但是,如果我放置一些Object imbrication,它会继续以corectly方式绑定请求,但不会在嵌套对象中进行Constraints验证。

这是我正在尝试做的一个例子:

public class PairRequest
{
    @Required
    public String epc;

    @Required
    public RequestProduct product;
}

public class RequestProduct
{
    //Product data
    @Constraints.Required
    private String productCode;

    @Constraints.Required
    public Brand brand;

    @Constraints.Required
    private String furniture;
}

@Entity
public class Brand extends Model {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    public Long id;

    @Column(length = 250)
    @Constraints.Required
    public String name;

    @Column(nullable = true, length = 512)
    public String regex;
}

我错过了什么吗?这很奇怪,因为我认为它在第一次工作......但我不能确定。

1 个答案:

答案 0 :(得分:1)

不仅需要注释@Required,还需要复杂对象的@Valid,如下所示:Bind complex (JSON) form data automatically