我正在开发购物车应用程序。在我的申请中有客户注册表。我正在使用Struts2磁贴。当客户端单击“注册”按钮时,我的应用程序会弹出一个jquery模型窗口。在我的NewUser.java
操作类中,重写了validate()
类的ActionSupport
方法。如果电子邮件字段为空,如何弹出包含字段错误的注册表单。
我的动作类:
@Override
public void validate() {
if (customer.getEmail().equals("")) {
addFieldError("email", "First Name is Required.");
}
}
<div id="register" class="modal hide fade" tabindex="-1">
<form action="CustomerAdd">
<label class="control-label" for="email">Email address</label>
<div class="controls">
<s:textfield name="customer.email" cssClass="input-xlarge"/>
</div>
</form>
</div>
<a href="#register" class="btn btn-small" data-toggle="modal">
Register now <i class="icon-chevron-right"></i>
</a>
<action name="CustomerAdd" class="com.shopping.op.customer.CustomerAdd">
<result name="success" type="tiles">success_customer</result>
<result name="failed" type="tiles">failed_customer</result>
<result name="not_available" type="tiles">user_already_added</result>
<result name="input" type="tiles">validate_customer</result>
</action>
<definition name="validate_customer" extends="baselayout">
<put-attribute name="opr" value="/customer/customer.jsp"/>
<put-attribute name="body" value="/login.jsp"/><!--This page has the Register button-->
</definition>
<小时/> 在此先感谢!
答案 0 :(得分:1)
在弹出窗口中,您需要添加actionerror
标记以显示错误。像这样,
<form action="CustomerAdd">
<label class="control-label" for="email">Email address</label>
<div class="controls">
<s:textfield name="customer.email" cssClass="input-xlarge"/>
<s:actionerror/>
</div>
</form>
我希望如果您正确处理了验证方法,则在输入电子邮件之前您可能无法提交。您错过的是在弹出窗口中显示错误。