【问题标题】:Organize validation messages in Struts2 validation(XML)在 Struts2 验证(XML)中组织验证消息
【发布时间】:2011-10-14 18:59:21
【问题描述】:

我正在尝试在 struts 2 中为我当前的项目进行验证。我必须对我的验证消息进行分组。例如:如果有 3 个字段为空,并且还有 3 个其他字段的格式不正确,我需要获取类似的消息 "以下字段为必填项:field1、field2、field3 以下字段格式无效:field4,field5,field6"

我尝试为 fieldError 提供一个参数。 例如:


fielderror>

在我看来,这就像指定“显示验证器类型为必需字符串的所有错误”。如果我错了,请纠正我。 但这每次都会为每个空的字段显示消息“需要以下字段”。我希望它只显示一次。

有没有办法在 stuts2 中使用通过 xml 的验证干净地做到这一点?我不想在 validate 方法中进行所有验证。

谢谢

【问题讨论】:

    标签: validation struts2 struts-validation


    【解决方案1】:

    你错了;我不知道你为什么认为这会起作用,docs 并不意味着这是可能的。

    字段错误只是特定字段的错误。如果您需要按任意标准(例如验证类型)对错误进行分组,则需要自己实现。

    有很多方法可以做到这一点,包括编写自定义验证拦截器、提供以不同方式对错误进行分组的验证器,或者只是在操作或验证方法中收集适当的消息。

    可以根据消息内容收集错误,但 IMO 会很脆弱。如果这是一个跨应用程序问题,您最好换一种方式。

    总而言之,通过以不一定反映表单的顺序显示错误消息,您将更多的认知开销推给用户:我不想看到一组消息告诉我哪些字段共享相同的错误,我想看看每个字段有什么问题,以相同的顺序在表单上显示字段,最好靠近表单字段本身。

    【讨论】:

    • 我同意你的看法!但是这个要求来自业务,我们无法让他们同意这一点。我目前正在使用自己的验证来实现这一点。
    猜你喜欢
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    相关资源
    最近更新 更多