gpt4 book ai didi

java - Play Java Forms 不会递归检查约束

转载 作者:行者123 更新时间:2023-11-30 08:05:48 26 4
gpt4 key购买 nike

我正在使用 Java 中的 Play 框架 2.3 构建一个应用程序。

我有带有 JSON 正文的 POST 请求。因此,为了检索数据,我使用具有多层叠瓦结构的 Form 来尊重 JSON 模型。它工作得很好,但我最近发现它没有检查约束(如 Constraints.Required)。我实际上不知道它是否总是有这种行为,或者它是否只是我最后一次测试的结果,但我不能让它保持原样。

那么有人知道是否可以递归地检查约束吗?

您的案例在这里不起作用:

public class PairRequest
{
@Constraints.Required
public String epc;

@Constraints.Required
public RequestProduct product;
}


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

@Constraints.Required
public Brand brand;

@Constraints.Required
public String furniture;
}

这里,如果“家具”字段不存在,hasError() 函数将返回 false。

import static play.data.Form.form;

public static Result pair(String tokenString)
{
try
{
Token token = Token.getToken(tokenString);
PairingCommit commit = PairingCommitService.getCommit(token.user);
Form<PairRequest> form = form(PairRequest.class).bindFromRequest();

if(form.hasErrors())//check out for form errors
throw Error.BAD_REQUEST(form.errors());

CommitItemService.create(form.get(), commit);

return ok(toJson(Response.OK));
}
catch(Error error){ return ok(toJson(error)); }
}

最佳答案

您必须添加@Valid注释。

关于java - Play Java Forms 不会递归检查约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31140949/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com