Struts2校驗框架

首先,校驗框架的命名規則:Action名-validation.xml

具體來說分爲:字段優先校驗器與校驗器優先校驗器;
下面給出一個校驗框架:RegisterAction-validation.xml
<?xml version="1.0" encoding="UTF-8"?>

//DTD聲明
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>
<!-- 
	<field name="username">
		<field-validator type="requiredstring">
			<param name="trim">false</param>
			<message>username can't be blank!</message>
		</field-validator>
		<field-validator type="stringlength">
			<param name="minLength">4</param>
			<param name="maxLength">6</param>
			<param name="trim">false</param>
			<message key="username.invalid"></message>
		</field-validator>
	</field>
	
	<field name="password">
		<field-validator type="requiredstring">
			<message>password can't be blank!</message>
		</field-validator>
		<field-validator type="stringlength">
			<param name="minLength">4</param>
			<param name="maxLength">6</param>
			<message>length of password should be between ${minLength} and ${maxLength}</message>
		</field-validator>
	</field>
	
	<field name="age">
		<field-validator type="required">
			<message>age can't be blank!</message>
		</field-validator>
		<field-validator type="int">
			<param name="min">10</param>
			<param name="max">40</param>
			<message>age should be between ${min} and ${max}</message>
		</field-validator>
		
	</field>
	
	<field name="birthday">
		<field-validator type="required">
			<message>birthday can't be blank!</message>
		</field-validator>
		<field-validator type="date">
			<param name="min">2005-1-1</param>
			<param name="max">2007-12-31</param>
			<message>birthday should be between ${min} and ${max}</message>
		</field-validator>
	</field>
	
 -->	
	
	<validator type="requiredstring">
		<param name="fieldName">username</param>
		<message>username can't be blank!</message>
	</validator>
	
	<validator type="stringlength">
		<param name="fieldName">username</param>
		<param name="minLength">4</param>
		<param name="maxLength">6</param>
		<message>length of username should be between ${minLength} and ${maxLength}</message>
	</validator>
	
	<field name="birthday">
		<field-validator type="required">
			<message>birthday can't be blank!</message>
		</field-validator>
		<field-validator type="date">
			<param name="min">2005-1-1</param>
			<param name="max">2007-12-31</param>
			<message>birthday should be between ${min} and ${max}</message>
		</field-validator>
	</field>
	
</validators>
常見校驗器類型與其在源碼中對應的類:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//OpenSymphony Group//XWork Validator Config 1.0//EN"
        "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd">

<!-- START SNIPPET: validators-default -->
<validators>
    <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
    <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
    <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
    <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
    <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
    <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
    <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
    <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
    <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
    <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
    <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
    <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
    <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
    <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
    <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
    <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
</validators>
<!--  END SNIPPET: validators-default -->




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章