Java Struts未验证表单输入中的电子邮件
我有一个HTML表单,我试图使用Struts验证用户在注册网站之前是否输入了有效的电子邮件地址 提交表单时,不会出现任何验证,表单只是按原样提交到操作参数类 我是Struts新手,所以请假设我错过了显而易见的东西(因为我可能错过了) 我的表单如下所示(UserRegistrationAddForm.jsp): 堆栈跟踪来自于处理的下一步的错误,因此它不应该走那么远Java Struts未验证表单输入中的电子邮件,java,forms,validation,struts,Java,Forms,Validation,Struts,我有一个HTML表单,我试图使用Struts验证用户在注册网站之前是否输入了有效的电子邮件地址 提交表单时,不会出现任何验证,表单只是按原样提交到操作参数类 我是Struts新手,所以请假设我错过了显而易见的东西(因为我可能错过了) 我的表单如下所示(UserRegistrationAddForm.jsp): 堆栈跟踪来自于处理的下一步的错误,因此它不应该走那么远 有趣的是,堆栈中没有提到任何对我的操作类型的引用,例如:com.example.LTPATokenGenerationEnabled
有趣的是,堆栈中没有提到任何对我的操作类型的引用,例如:com.example.LTPATokenGenerationEnabledBaseAction,所以我假设我配置错了什么东西?我不确定,但是,也许您应该在表单bean标记中使用org.apache.struts.validator.DynaValidatorActionForm。您使用默认堆栈吗?默认堆栈用于什么,对不起?通常在struts.xml上定义名称空间,您必须定义它使用的堆栈。这是struts2吗?还是struts1?你用的是什么版本?Struts 1?它在表单bean标记中声明为type属性。这就是你的意思吗?@Mikaveli,是的,是的,我已经做到了(我的struts-config.xml在上面的问题中)。
<form name="registrationAddForm" method="post" action="UserRegistrationAdd">
<div class="form-label-holder">
<label for="email"><fmt:message key="LOGON_ID" bundle="${storeText}" /><span class="mandatoryindicator"> *</span></label>
</div>
<div class="form-field-holder">
<input id="email" class="required email" type="text" name="logonId" value="<c:out value="${paramSource.logonId}" />" />
</div>
<input type="image" src="<c:out value="${jspStoreImgDir}" />mobile/images/next-button.png" />
</form>
<struts-config>
<form-beans>
<form-bean name="UserRegAddForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="logonId" type="java.lang.String" />
</form-bean>
</form-beans>
<action
parameter="com.example.UserRegistrationAddCmd"
path="/UserRegistrationAdd" type="com.example.LTPATokenGenerationEnabledBaseAction"
name="UserRegAddForm">
<set-property property="https" value="0:1"/>
<set-property property="authenticate" value="0:0"/>
</action>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml"/>
</plug-in>
</struts-config>
<form-validation>
<form name="UserRegAddForm">
<field property="logonId" depends="required,email">
<arg key="registrationAddForm.logonId" />
</field>
</form>
</form-validation>
at com.example.BaseAction.executeAction(BaseAction.java:722)
at com.example.struts.BaseAction.execute(BaseAction.java:150)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at com.example.struts.ECActionServlet.processRequest(ECActionServlet.java:218)
at com.example.struts.ECActionServlet.doPost(ECActionServlet.java:174)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)