日期:2014-05-18  浏览次数:20682 次

validate 起不了作用
觉得配置没有什么问题了,还是出错,id和password如果什么也不填,程序还会进入action.validate没起到作用啊,帮给看看什么错吧,谢谢了

以下是部分配置文件内容

validation.xml:
<formset>
<form name="loginForm">
  <field property="id" depends="required">
  <arg key="id"/>
  </field>
  <field property="password" depends="required">
  <arg key="password"/>
  </field>
</form>
</formset>

  <form-beans>
  <form-bean name="loginForm" type="com.yourcompany.struts.form.LoginForm" />
  </form-beans>
  <global-exceptions />
  <global-forwards />
  <action-mappings >
  <action
  input="/login.jsp"
  name="loginForm"
  path="/userlogin"
  validate="true"
  scope="request"
  type="com.yourcompany.struts.action.LoginAction">
  <forward
  name="sucess"
  path="/sucess.jsp"
  redirect="true" />
  </action>
  </action-mappings>  
  <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">  
  <set-property property="pathnames"  
value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml"/>  
  </plug-in> 

login.jsp

   <html:form action="userlogin" >
   <html:errors/><br>
<bean:message key="id"/><html:text property="id"/><br/>
<bean:message key="password"/><html:password property="password"/><br/>
<html:submit property="submit" value="提交"/><html:cancel value="取消"/>
   </html:form>

------解决方案--------------------
和同事谈论了半天,知道我是把服务器端的验证和客户端验证两种代码都写在JSP页面中了,在struts-config的action的validate属性又设置为true,就是使用服务器端验证,所以加载了页面就验证了。我页面上是没有生成JS函数的。