求助validator不验证的问题

xiongpfi 2008-01-29 04:33:16
<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm" >
<form-property name="userName" type="java.lang.String"></form-property>
<form-property name="password" type="java.lang.String"></form-property>
</form-bean>
</form-beans>

<global-exceptions />
<global-forwards>
<forward name="error" path="error.jsp"></forward>
</global-forwards>
<action-mappings >
<action
attribute="loginForm"
input="/index.jsp"
name="loginForm"
path="/index"
validate="true"
scope="request"

type="bbs.struts.action.LoginAction">
<set-property property="cancellable" value="true"/>
<forward name="success" path="/success.jsp" />
<forward name="DbFail" path="/dbfail.jsp" />
<forward name="LoginFail" path="/loginfail.jsp" />
<forward name="regist" path="/regist.jsp" />

</action>

</action-mappings>
<message-resources parameter="bbs.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>
</struts-config>

validation.xml:
<form-validation>
<formset >
<form name="loginForm" >
<filed property="userName" depends="required" >
<msg name="required" key="login.userName.missing" />

</filed>
</form>
</formset>
</form-validation>

LoginForm.java:
public class LoginForm extends ValidatorActionForm
{
private String password;
private String userName;

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

}
当我提交的时候根本就没有验证,直接去执行Action的execute方法了。
...全文
241 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiongpfi 2008-01-31
  • 打赏
  • 举报
回复
晕,原来是validation.xml里的<filed>写错了(field) ..
以后要小心了。
傻根她弟 2008-01-30
  • 打赏
  • 举报
回复
<html:javascript formName="loginForm"/>
<html:form action="/index" onsubmit="return validateLoginForm(this);">
xiongpfi 2008-01-30
  • 打赏
  • 举报
回复
index.jsp:
<table>
<html:form action="/index">
<tr><td width="52">用户名</td><td><html:text property="userName"/><html:errors property="userName"/></td></tr>
<tr><td>密码</td> <td><html:password property="password"/><html:errors property="password"/></td></tr>

<tr><td><html:submit>登录</html:submit></td>
<td><html:cancel>注册</html:cancel></td></tr>

</html:form>
</table>
运行没有报错,只是不验证,直接去执行Action的execute方法了。
karlpan01 说我的validation.xml写的不太对怎么改?
按burningice44 说的改了下,也不行。
傻根她弟 2008-01-30
  • 打赏
  • 举报
回复
需要以下信息:
1。有没有抱错,抱错内容
2。页面代码贴出来
burningice44 2008-01-30
  • 打赏
  • 举报
回复
你的form-bean应该继承type="org.apache.struts.validator.DynaValidatorForm",另外下面的也不需要,因为你用的动态验证的bean:
LoginForm.java:
public class LoginForm extends ValidatorActionForm
{
private String password;
private String userName;

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

}
karlpan01 2008-01-30
  • 打赏
  • 举报
回复
应该是你的validation.xml写的不太对
xiongpfi 2008-01-30
  • 打赏
  • 举报
回复
没人来么??
qingting2016 2008-01-30
  • 打赏
  • 举报
回复
继承VALIDATORFORM,把FORM中的VALIDATE方法删除 不知道写的对不,还有ACTION中的ISVALIDATE=true也必须
xiongpfi 2008-01-30
  • 打赏
  • 举报
回复
楼上的用你的方法,出现了错说找不到loginForm
javax.servlet.jsp.JspException: No form found under 'loginForm' in locale 'zh_CN'
org.apache.struts.taglib.html.JavascriptValidatorTag.renderJavascript(JavascriptValidatorTag.java:384)
org.apache.struts.taglib.html.JavascriptValidatorTag.doStartTag(JavascriptValidatorTag.java:349)
这个loginForm在struts-config.xml 与validation.xml里面都有配置为什么又说找不到呢??
初学 struts谢谢来帮我解决下。

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧