`
_Yggd
  • 浏览: 85976 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

struts 数据的校验问题

阅读更多
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:actionerror/>
<s:form method="post" action="addStudent" validate="true">
<s:textfield name="stuName" label="姓名"/>
<s:textfield name="stuAge" label="年龄"/>
<s:textfield name="stuPassword1" label="密码1"/>
<s:textfield name="stuPassword2" label="密码2"/>
<s:textfield name="stuEnrollTime" label="入学时间"/>
<s:submit value="添加"/>
</s:form>


validate="true"要是把这句话去掉的话既没有如图所示的异常了,这句话是在客户端校验的代码

校验文件:
<?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>
<validator type='stringlength'>
<param name="fieldName">stuName</param>
<param name="minLength">4</param>
<param name="maxLength">8</param>
<message>学生姓名长度为${minLength}至${maxLength}个字符!</message>
</validator>
<validator type='requiredstring'>
<param name="fieldName">stuName</param>
<message>必须输入姓名!</message>
</validator>
<validator type='int'>
<param name="fieldName">stuAge</param>
<param name="min">16</param>
<param name="max">20</param>
<message>学生年龄应该在${min}至${max}之间!</message>
</validator>
<validator type='date'>
<param name="fieldName">stuEnrollTime</param>
<param name="min">2010-01-01</param>
<param name="max">2011-01-01</param>
<message>入学时间应在${min}至${max}之间!</message>
</validator>

</validators>
如果是把校验文件
改成这样:
<?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="stuName">
<field-validator type="requiredstring">
<message>必须输入姓名!</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">4</param>
<param name="maxLength">8</param>
<message>学生姓名长度为${minLength}至${maxLength}个字符!</message>
</field-validator>
</field>
<field name="stuAge">
<field-validator type="conversion">
        <param name="repopulateField">false</param>
        <message>Conversion Error (Integer Wanted)</message>
     </field-validator>

</field>
<field name="stuEnrollTime">
<field-validator type="date">
<param name="min">2010-01-01</param>
<param name="max">2011-01-01</param>
<message>入学时间应在${min}至${max}之间!</message>
</field-validator>
</field>

        <validator type="expression">
            <param name="expression">stuPassword1==stuPassword2</param>
            <message>Failed to meet Ognl Expression  .... </message>
        </validator>
   
</validators>

也是报刚才的那个错误
而且进去action以后经过转发以后它的校验就只能对第一个起作用了
求教,求科普
  • 大小: 33.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics