0

我正在开发一个购物车应用程序。在我的应用程序中有客户注册表。我正在使用 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 &nbsp; <i class="icon-chevron-right"></i>
</a> 


Struts2 动作:

 <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> 


提前致谢!

4

1 回答 1

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>

我希望如果您正确处理验证方法,您可能无法在输入电子邮件之前提交。您错过的是在弹出窗口中显示错误。

于 2013-12-23T12:05:31.050 回答