在Struts2验证(XML)中组织验证消息

时间:2011-10-14 18:59:21

标签: validation struts2 struts-validation

我正在尝试在struts 2中为我当前的项目进行验证。我必须对验证消息进行分组。对于Eg:如果有3个字段为空,并且有3个其他字段的格式不正确,我需要得到一个msg “需要以下字段:field1,field2,field3 以下字段的格式无效:field4,field5,field6“

我尝试为fieldError提供一个参数。 例如:
        < s:fielderror>
                    < s:param value =“%{requiredstring}”/>
   < / s:fielderror>

据我说,这就像指定“显示验证器类型为requiredstring的所有错误”。如果我错了,请纠正我。 但是每次为空的每个字段显示消息“需要以下字段”。我希望它只显示一次。

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

由于

1 个答案:

答案 0 :(得分:0)

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

字段错误就是 - 特定字段的错误。如果您需要按照任意条件(如验证类型)对错误进行分组,则需要自己实现。

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

可能根据邮件内容收集错误,但IMO会很脆弱。如果这是一个跨应用程序问题,那么最好以不同的方式进行。

所有这一切,通过以不一定反映表单的顺序呈现错误消息,您将更多的认知开销推向用户:我不希望看到消息组告诉我哪些字段共享相同的错误,我想看看每个字段有什么问题,字段在表单上呈现的顺序相同,最好是在表单字段本身附近。