本帖最后由 happyking999 于 2011-12-26 10:16:24 编辑

解决方案 »

  1.   

    RegistAction-validation.xml 怎么写的?
    我帖一个给你看:
    01.<?xml version="1.0" encoding="UTF-8"?> 02.<!DOCTYPE validators PUBLIC  03.        "-//OpenSymphony Group//XWork Validator Config 1.0//EN"  04.        "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> 05.<validators> 06.  <!-- username字段校验 --> 07.  <field name="username"> 08.    <field-validator type="stringlength"> 09.      <param name="minLength">4</param> 10.      <param name="maxLength">10</param> 11.      <message>用户名长度为${minLength}到${maxLength}之间!</message>     12.    </field-validator> 13.    <field-validator type="requiredstring"> 14.          <message >用户名不能为空!</message> 15.    </field-validator> 16.  </field> 17.  <!-- password1字段校验 --> 18.  <field name="password1"> 19.    <field-validator type="requiredstring"> 20.      <param name="trim">true</param> 21.      <message>错误,密码不能为空!</message>     22.    </field-validator> 23.    <field-validator type="stringlength"> 24.      <param name="minLength">4</param> 25.      <param name="maxLength">20</param> 26.      <message>用户密码长度为${minLength}到${maxLength}之间!</message>     27.    </field-validator> 28. </field> 29.  <!-- password2字段校验 --> 30.  <field name="password2"> 31.    <field-validator type="requiredstring"> 32.      <param name="trim">true</param> 33.      <message>错误,确认密码不能为空!</message> 34.    </field-validator> 35.    <field-validator type="stringlength"> 36.      <param name="minLength">4</param> 37.      <param name="maxLength">20</param> 38.      <message>用户密码长度为${minLength}到${maxLength}之间!</message>     39.    </field-validator> 40.    <field-validator type="fieldexpression"> 41.       <param name="expression">password1==password2</param> 42.       <message>两次输入密码不一样!</message> 43.    </field-validator> 44.  </field> 45.   <!-- birthday字段校验 --> 46.  <field name="birthday"> 47.    <field-validator type="date"> 48.      <param name="min">1990-01-01</param> 49.      <param name="max">2011-04-14</param> 50.      <message>错误:生日应该在一个范围内!</message>    51.    </field-validator> 52.  </field> 53.</validators> 
    http://enetq.blog.51cto.com/479739/545259参见:
      

  2.   

    页面使用Struts2 标签01.<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 02.<%@ taglib prefix="s" uri="/struts-tags" %> 03.<%@ taglib uri="/struts-dojo-tags" prefix="sx"%> 04. 
      

  3.   

    这是我的RegistAction-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="username">
    <field-validator type="requiredstring" short-circuit="true">
    <param name="trim">true</param>
    <message>用戶名不能為空!</message>
    </field-validator>
    <field-validator type="regex">
    <param name="expression"><![CDATA[(\w{4,25})]]></param>
    <message>用戶名只能是字母和數字,且長度必須在4到25之間!</message>
    </field-validator>
    </field>
    <field name="password1">
    <field-validator type="requiredstring" short-circuit="true">
    <param name="trim">true</param>
    <message>密碼不能為空!</message>
    </field-validator>
    <field-validator type="regex">
    <param name="expression"><![CDATA[(\w{4,25})]]></param>
    <message>密碼只能是字母和數字,且長度必須在4到25之間!</message>
    </field-validator>
    </field>
    <field name="password2">
    <field-validator type="requiredstring" short-circuit="true">
    <param name="trim">true</param>
    <message>密碼不能為空!</message>
    </field-validator>
    <field-validator type="regex" short-circuit="true">
    <param name="expression">![CDATA[(\w{4,25})]]></param>
    <message>密碼只能是字母和數字,且長度必須在4到25之間!</message>
    </field-validator>
    <field-validator type="fieldexpression">
    <param name="expression"><![CDATA[(password2==password1)]]></param>
    <message>密碼輸入不一致!</message>
    </field-validator>
    </field>
    <field name="address">
    <field-validator type="requiredstring" short-circuit="true">
    <param name="trim">true</param>
    <message>郵箱不能為空!</message>
    </field-validator>
    <field-validator type="email">
    <message>郵箱格式不正確!</message>
    </field-validator>
    </field>
    </validators>这是jsp文件:<%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <%@taglib prefix="s" uri="/struts-tags" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>請輸入注冊信息</title>
    </head>
    <body>
    <h2>注冊信息:</h2><s:form action="regist" validate="true">
    <s:textfield label="用戶名" name="username"/>
    <s:fielderror cssStyle="color: red"><s:param>username</s:param></s:fielderror>
    <s:password label="密碼" name="password1"/>
    <s:fielderror cssStyle="color: red"><s:param>password1</s:param></s:fielderror>
    <s:password label="密碼確認" name="password2"/>
    <s:fielderror cssStyle="color: red"><s:param>password2</s:param></s:fielderror>
    <s:textfield label="e-mail" name="address"/>
    <s:fielderror cssStyle="color: red"><s:param>address</s:param></s:fielderror>
    <s:submit value="提交" />
    </s:form></body>
    </html>
      

  4.   

    一般放到和要验证的.class文件在同一目录下,也就是编译后要在同一目录下
      

  5.   

    先看看编译后xml文件是否跟action.class文件是否在同一目录下,看你上面的代码是没错误的。
      

  6.   

     <action name="regist" class="registAction">
    把registAction这个换成RegistAction,好久不用web了,不知道对不对