gpt4 book ai didi

java - Play-java 2.5.9 form.errorsAsJson() 总是返回英文错误信息

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:13:14 24 4
gpt4 key购买 nike

我是 play 框架的新手,我正在使用 play java 2.5.9我正在尝试获取表单错误并使用 ajax 呈现它(这就是我使用 form.errorsAsJson() 的原因),错误应该以阿拉伯语显示

我试过像这样在我的 conf/messages.ar 中放入错误消息:

#bean validation messages
validation.required=لابد من إدخال قيمة في هذا الحقل
error.required=لابد من إدخال قيمة في هذا الحقل

我还尝试将以下内容放入 conf/ValidationMessages_ar.properties 中:

error.required=\u0627\u0644\u062D\u0642\u0644\u0645\u0637\u0644\u0648\u0628validation.required=\u0644\u0627\u0628\u062F\u0645\u0646\u0625\u062F\u062E\u0627\u0644\u0642\u064A\u0645\u0629\u0641\u064A\u0647\u06270\u06270\u0644\u062D\u0642\u0644这两条消息都没有呈现,但我总是得到:

This field is required

我的 Action 代码如下:

@Transactional
public Result addUOMType(){
ObjectNode result = Json.newObject();
Form<UnitOfMeasureType> uomTypeForm = formFactory.form(UnitOfMeasureType.class);
try{
uomTypeForm = uomTypeForm.bindFromRequest();
System.out.println(Http.Context.current() != null ? Http.Context.current().lang() : "");
if(uomTypeForm.hasErrors()){
result.put("status", "error");
result.put("errors", uomTypeForm.errorsAsJson());
return ok(result);
}
UnitOfMeasureType uomType = uomTypeForm.get();
uomType.save();
result.put("status", "success");
result.put("message", Messages.get("response.success"));
}catch (Exception exp){
result.put("status", "error");
result.put("errors", Json.toJson(exp.getMessage()));
}

return ok(result);
}

System.out.println 打印:朗(ar)

最佳答案

Form.errorsAsJson 有一个 overloaded version taking Lang parameter :

public com.fasterxml.jackson.databind.JsonNode errorsAsJson(Lang lang)
// Returns the form errors serialized as Json using the given Lang.

所以你可以这样做:

result.put("errors", uomTypeForm.errorsAsJson(lang()));

只要您在 conf/messages.ar 中定义它们,它就会返回正确本地化的消息。我刚刚在我的项目中尝试过这个并且运行良好。

方法 lang()defined in play.mvc.Controller .

关于java - Play-java 2.5.9 form.errorsAsJson() 总是返回英文错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40688015/

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