今天做了一个validation验证的小例子,我用弹出消息框是可以了,也就是说当出现错误,就弹出消息框,可是我现在不想用消息框提示出错信息,我想在网页上显示,就是用<html:errors property="pass"/>标签显示出错信息,可是为什么不显示呢"??怎么才能让它显示出来呢?<html:form action="/user" onsubmit="return validateUserForm(this)">
pass : <html:text property="pass"/><html:errors property="pass"/><br/>
name : <html:text property="name"/><html:errors property="name"/><br/>
<html:submit/><html:cancel/>
<html:javascript formName="userForm"/>
</html:form>

解决方案 »

  1.   

    <html:javascript formName="userForm"/>去掉
      

  2.   

    把onsubmit="return validateUserForm(this)" 也去掉
      

  3.   

    这个感觉用JavaScript好一点,出错了把某个标签里的text改掉
      

  4.   

    <html:form action="/user" onsubmit="return validateUserForm(this)">
    //感觉action还是用.do的比较好 ,onsubmit 这句去掉吧,验证不需要这个
      

  5.   

    举个例子
    public ActionErrors validate(ActionMapping actionMapping,                                 HttpServletRequest httpServletRequest) {            ActionErrors errors = new ActionErrors();            String userName =(String) getValue("userName");            String password = (String) getValue("password");            if(Validate.isNull(userName)){                errors.add("userName",new ActionMessage("ZHS.userName.required"));            }            if(Validate.isNull(password))                errors.add("password",new ActionMessage("ZHS.password.required"));        return errors;    }
    ActionError以不赞成使用,所以用ActionMessage。
    当这一层验证不成功的时候,会转发到配置文件中指定的input文件。
    注意:
    errors.add("userName",new ActionMessage("ZHS.userName.required")) 要理解它,请看下面的JSP代码:
    <html:errors bundle="ZHS" property="userName"/>
    public class Validate {
    public static boolean isNull(String para){
    if(para == null || para.trim().equals(""))
    return true;
    else
    return false;
    }
    }