10.6 引用验证器返回的错误信息
10.6.1引用验证器返回的错误信息
在以前的学习中,已经接触到了如何引用验证器返回的错误信息,现在来全面的整理一下如何引用验证器返回的错误信息。
引用字段验证错误有两种方式:
- 对于字段验证错误来说,在<s:form>使用xhtml风格的时候,<s:textfield/>标签会将这个字段的错误信息显示在这个文本框的上边。
- 还可以用<s:fielderror/>标签来将字段验证错误的错误信息显示在指定位置,如果不指定其fieldName属性则会显示所有的错误,如果指定了fieldName属性则会显示指定字段的错误。
对于动作验证错误,可以使用<s:actionerror/>标签,它会把所有的动作验证错误显示在指定的位置。
现在来实践一下,请恢复验证信息配置文件RegisterAction-validation.xml,并在里面设置两个字段验证错误(user.account和user.name)和一个动作验证错误(user.age),示例代码如下:
java代码:
- <validators>
- <field name="user.account">
- <field-validator type="requiredstring">
- <message>请填入账号</message>
- </field-validator>
- </field>
- <field name="user.name">
- <field-validator type="requiredstring">
- <message>请填入姓名</message>
- </field-validator>
- </field>
- <validator type="expression">
- <param name="expression"><![CDATA[user.age>=18]]></param>
- <message>年龄必须在18岁以上</message>
- </validator>
- </validators>
在注册页面上混用各种验证错误信息的引用方式:
java代码:
- 用户注册
- <hr>
- 动作验证错误信息会显示在这里:<br>
- <s:actionerror/>
- <hr>
- 所有的字段验证错误信息会显示在这里:<br>
- <s:fielderror/>
- <hr>
- user.account的字段验证错误信息会显示在这里:<br>
- <s:fielderror fieldName="user.account"/>
- <hr>
- <s:form action="/registerAction.action">
- <s:textfield name="user.account" label="账号"/>
- <s:textfield name="user.name" label="姓名"/>
- <s:textfield name="user.age" label="年龄"/>
- <s:submit value="注册"/>
- </s:form>
最终得到结果如下:
图10.7 使用各种方式引用验证错误信息
私塾在线网站原创《研磨struts2》系列
转自请注明出处:【http://sishuok.com/forum/blogPost/list/4095.html】
欢迎访问http://sishuok.com获取更多内容