如何在Play中的特定表单字段上设置自定义验证错误! 2. *

如何在Play中的特定表单字段上设置自定义验证错误! 2. *,第1张

概述基本上我有一个以下的表格类. public static class BasicForm { @Required public String name; @Required @Email public String email; @Required public String password; @Required publi 基本上我有一个以下的表格类.

public static class BasicForm {    @required    public String name;    @required    @Email    public String email;    @required    public String password;    @required    public String confirmPassword;    public List<ValIDationError> valIDate() {        if (User.findByEmail(email) != null) {            List<ValIDationError> valIDationErrorList = new ArrayList<ValIDationError>();            valIDationErrorList.add(new ValIDationError("email","error.alreadyexists",new ArrayList<Object>()));            return valIDationErrorList;        }        return null;    }}

如您所见,我正在尝试验证电子邮件地址的唯一性.
如果电子邮件不是唯一的,我想在电子邮件字段中显示错误消息,而不是全局错误消息

实现valIDate()方法实现此目的的正确方法是什么?

解决方法 您应该使用具有以下签名的valIDate方法:

public Map<String,List<ValIDationError>> valIDate()

这样您可以将错误添加到单个字段,如下所示:

Map<String,List<ValIDationError>> errors = null;if (emailisBad) {    errors = new HashMap<String,List<ValIDationError>>();    List<ValIDationError> List = new ArrayList<ValIDationError>();    List.add(new ValIDationError("email","email is bad"));    errors.put("email",List);}return errors;

请注意,如果您应该返回一张空地图,它仍会将表格渲染为错误.如果希望valIDate()方法成功,则需要返回null.

总结

以上是内存溢出为你收集整理的如何在Play中的特定表单字段上设置自定义验证错误! 2. *全部内容,希望文章能够帮你解决如何在Play中的特定表单字段上设置自定义验证错误! 2. *所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1084247.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存