2013-12-22 32 views
0

我正在開發購物車應用程序。在我的申請中有客戶登記表。我正在使用Struts2磁貼。當客戶點擊註冊按鈕時,我的應用程序彈出一個jQuery模型窗口。在我的NewUser.java動作類中,重寫了類的validate()方法。如果電子郵件字段爲空,那麼如何彈出帶有字段錯誤的註冊表單。如何在Struts2瓷磚中啓動jquery模式彈出窗口?

我的動作類:

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


先謝謝了!

回答

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> 

我希望如果您正確處理驗證方法,您可能無法提交,直到輸入電子郵件。你錯過的是在彈出窗口中顯示錯誤。

+0

感謝它爲我工作.. – begginerAll

+0

不客氣。 –