<%@ 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以后经过转发以后它的校验就只能对第一个起作用了
求教,求科普
<%@ 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以后经过转发以后它的校验就只能对第一个起作用了
求教,求科普