java之SpringMVC : How to mark two inputs invalid

yjmyzz 阅读:48 2023-08-06 08:31:55 评论:0

我在我的网络应用程序中使用 SpringMVC 来处理表单及其验证。

在我的 validator 中,我有这样的代码:

@Override 
public void validate(final Object target, final Errors errors) 
{ 
    final LoginCommand loginCommand = (LoginCommand) target; 
    if (checkCredentials(loginCommand.getLogin(), loginCommand.getPassword()) { 
        errors.rejectValue("login", "login.error.invalid"); 
        errors.rejectValue("password", "login.error.invalid");           
    } 
    //.. 

通过这种方式,我在填充 cssErrorClass 属性时得到正确呈现的无效。 现在的问题是 login.error.invalid 消息在我要显示两次的错误消息列表中。

将两个输入字段标记为无效但错误列表中只有一条消息的最佳方法是什么? 我搜索了整个 SpringMVC 文档/api,但没有找到一种在不提供消息的情况下拒绝字段的方法。

请您参考如下方法:

我建议在这种情况下将所有表单标记为无效:

if (checkCredentials(loginCommand.getLogin(), loginCommand.getPassword()) { 
    errors.rejectValue("login.error.invalid");          
} 

并显示在浏览者

<form:errors /> 


标签:springMVC
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号