读书人

struts验证,该怎么处理

发布时间: 2012-01-19 20:57:58 作者: rapoo

struts验证
当我验证没通过时 为什么页面上的东西全部都不在了
就只是个空页面呢 请教
代码如下
在struts-config里面配置的一个动态form
<form-bean name= "editcusForm " type= "org.apache.struts.validator.DynaValidatorForm ">
<form-property name= "cstmId " type= "java.lang.String "/>
<form-property name= "cstmName " type= "java.lang.String " />
<form-property name= "password " type= "java.lang.String " />
<form-property name= "pwdQus " type= "java.lang.String " />
<form-property name= "answer " type= "java.lang.String " />
<form-property name= "metier " type= "java.lang.String " />
<form-property name= "realName " type= "java.lang.String " />
<form-property name= "sex " type= "java.lang.String " />
<form-property name= "birthday " type= "java.lang.String " />
<form-property name= "phone " type= "java.lang.String " />
<form-property name= "email " type= "java.lang.String " />
<form-property name= "homeAddress " type= "java.lang.String " />
<form-property name= "nowAddress " type= "java.lang.String " />

</form-bean>
这个是action的隐射
<action
attribute= "CustomersForm "
name= "CustomersForm "
path= "/editCustomer "
parameter= "action "
scope= "request "
type= "cn.com.action.EditcstmAction ">
<forward name= "success " path= "/editcustomer.jsp " />
<forward name= "underfind " path= "/index.jsp " />
页面提交是onsubmit= "return editcusForm(this) "
这个是在validate.xml里面配置的验证
<form name= "editcusForm ">
<!-- 真实姓名验证 格式:必须填写,长度不能小于6 -->
<field property= "realName " depends= "required,minlength ">
<msg name= "required " key= "errors.required "/>
<msg name= "minlength " key= "errors.minlength "/>
<arg0 key= "validateParam.realName "/>
<arg1 key= "${var:minlength} " resource= "false "/>


<var>
<var-name> minlength </var-name>
<var-value> 6 </var-value>
</var>
</field>

<!-- 性别验证 格式:必须选择一个 -->
<field property= "sex " depends= "required ">
<msg name= "required " key= "errors.required "/>
<arg0 key= "validateParam.sex "/>
</field>

<!-- 生日验证 格式:长度不能小于6,必须为日期格式 -->
<field property= "birthday " depends= "required,minlength ">
<msg name= "required " key= "errors.required "/>
<msg name= "minlength " key= "errors.minlength "/>
<arg0 key= "validateParam.birthday "/>
<arg1 key= "${var:minlength} " resource= "false "/>
<var>
<var-name> minlength </var-name>
<var-value> 6 </var-value>
</var>
</field>

<!-- 电话验证 格式:必须填写,长度在11到20位之间 -->
<field property= "phone " depends= "required,minlength,maxlength,mask ">
<msg name= "required " key= "errors.required "/>
<msg name= "minlength " key= "errors.minlength "/>
<msg name= "maxlength " key= "errors.maxlength "/>
<msg name= "mask " key= "errors.masko "/>
<arg0 key= "validateParam.phone "/>
<arg1 key= "${var:minlength} " resource= "false "/>
<arg2 key= "${var:maxlength} " resource= "false "/>
<var>
<var-name> minlength </var-name>
<var-value> 11 </var-value>
</var>
<var>
<var-name> maxlength </var-name>
<var-value> 20 </var-value>
</var>
<var>
<var-name> mask </var-name>
<var-value> ^(-|\+)?\d+(\.\d+)?$ </var-value>
</var>
</field>

<!-- email验证 格式:必须填写,必须为email格式 -->
<field property= "email " depends= "required,email ">
<msg name= "requried " key= "errors.required "/>
<msg name= "email " key= "errors.email "/>
<arg0 key= "validateParam.email "/>
</field>

<!-- 原地址验证 格式:必须填写 -->
<field property= "homeAddress " depends= "required ">
<msg name= "required " key= "errors.required "/>
<arg0 key= "validateParam.homeAddress "/>
</field>

<!-- 现地址验证 格式:必须填写 -->
<field property= "nowAddress " depends= "required ">
<msg name= "required " key= "errors.required "/>
<arg0 key= "validateParam.nowAddress "/>
</field>
</form>

请教各位是哪点的问题导致在验证没有通过后 页面上的东西全部都不在了


成了空页面,请详细说明

[解决办法]
名字不对应吧,你的formbean是editcusForm,而你action对应的是什么,你仔细看看
<action
attribute= "CustomersForm "
name= "CustomersForm "
path= "/editCustomer "
parameter= "action "
...
将CustomersForm换成editcusForm,另外检查一下path是否正确
[解决办法]
楼上的说的对,写错了,大哥
[解决办法]
那就只能等接分了。。。
[解决办法]
晕了 这都行?
[解决办法]
哥几个真是有耐心啊,佩服!!!!

读书人网 >Java Web开发

热点推荐