`
younglibin
  • 浏览: 1192159 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2 短路校验(客户端校验)

阅读更多


在没有输出用户名的情况下,校验出多个警告,我们要的效果应该是,没有输入时,只出现第一个!
 

<!-- 校验文件的根元素 -->
<validators>
	<!-- 校验Action的name属性 -->
	<field name="name">
		<!-- 指定name属性必须满足必填规则 -->
		<field-validator type="requiredstring" short-circuit="true">
			<param name="trim">true</param>
			<!-- 如果校验失败,输出name.requried对应的国际化信息 -->
			<message>${getText("name.requried")}</message>
		</field-validator>
		<!-- 指定name属性必须匹配正则表达式 -->
		<field-validator type="regex">
			<param name="expression"><![CDATA[(\w{4,25})]]></param>
			<!-- 如果校验失败,输出name.regex对应的国际化信息 -->
			<message>${getText("name.regex")}</message>
		</field-validator>
	</field>
	<!-- 校验Action的pass属性 -->
	<field name="pass">
		<!-- 指定pass属性必须满足必填规则 -->
		<field-validator type="requiredstring" short-circuit="true">
			<param name="trim">true</param>
			<!-- 如果校验失败,输出pass.requried对应的国际化信息 -->
			<message>${getText("pass.requried")}</message>
		</field-validator>
		<!-- 指定pass属性必须满足匹配指定的正则表达式 -->
		<field-validator type="regex">
			<param name="expression"><![CDATA[(\w{4,25})]]></param>
			<!-- 如果校验失败,输出pass.regex对应的国际化信息 -->
			<message>${getText("pass.regex")}</message>
		</field-validator>
	</field>
	<!-- 指定age属性必须在指定范围内-->
	<field name="age">
		<field-validator type="int">
			<param name="min">1</param>
			<param name="max">150</param>
			<!-- 如果校验失败,输出age.range对应的国际化信息 -->
			<message>${getText("age.range")}</message>
		</field-validator>
	</field>
	<!-- 指定birth属性必须在指定范围内-->
	<field name="birth">
		<field-validator type="date">
			<!-- 下面指定日期字符串时,必须使用本Locale的日期格式 -->
			<param name="min">1900-01-01</param>
			<param name="max">2050-02-21</param>
			<!-- 如果校验失败,输出birth.range对应的国际化信息 -->
			<message>${getText("birth.range")}</message>
		</field-validator>
	</field>
</validators>

  

修改后以上校验规则还是显示如下:

 

这是校验器短路的效果



 上图使用的是服务器端校验,可见没有下图的效果好!

 


上图是使用客户端校验器风格,在(s:form 标签 增加 validate="true")

 

效果是:当不输入时,只有输出输入用户名(如上图),当输入用户名不合要求时(如下图):



 

完整代码附件中:


 

 

 

  • 大小: 6.1 KB
  • 大小: 3.7 KB
  • 大小: 2.7 KB
  • 大小: 4.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics