struts2表单印证实现

struts2表单验证实现

struts2表单验证,已经实现了,我做第二个验证的时候竟然实现不了,过程中犯了两个错误,害的我浪费了很多时间。

1.****-action.validation.xml,前面部分竟然写错了

2. <s:form. action="logon.action" method="post" validate="true"> 

validate没有写了,

 

下面我只说我用的这种实现:

struts2中会涉及到model和action,例子中分别为:user.java,UserAction.java

在User.java目录下建立User-validation.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!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="user.userName">
        <field-validator type="requiredstring">
            <message>您必须填写登录名</message>
        </field-validator>
    </field>
    <field name="user.shortName">
        <field-validator type="requiredstring">
            <message>您必须填写姓名</message>
        </field-validator>
    </field>
    <field name="user.email">
        <field-validator type="requiredstring">
            <message>您必须填写邮箱</message>
        </field-validator>
    </field>
</validators>

UserAction.java目录下建立UserAction-validation.xml

内容如下:

<!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="user">
        <field-validator type="visitor">
            <param name="appendPrefix">false</param>
            <message/>
        </field-validator>
    </field>
</validators> 

 

页面:

<s:form name="userForm" action="frameUserAction.html" method="post" validate="true">

 

这样就可以产生验证效果了,如果想了解详细的知识,可以参考《struts2 in action》里面讲的很详细