2016-01-04 19 views
0

我目前正在使用JSP,Java servlets。通過Java在JSP中啓用自定義錯誤消息

我正在爲表單添加自定義錯誤消息,我正在按照在此網站上找到的示例http://materializecss.com/forms.html下的「自定義錯誤或成功消息」。我想要做的是,一旦用戶提交通過java servlet處理的信息,如果Java servlet在用戶輸入中發現錯誤,我想啓用在輸入無效輸入時出現的紅色錯誤行。

我目前擁有的代碼是

<input type="email" name="email" id="email" value="${param.email}" class="validate"> 
<label for="email" data-error="Invalid Email" data-success="">Email</label> 

每個電子郵件地址必須是唯一的,因此,如果輸入的電子郵件是一個有效的電子郵件地址,然後用戶將提交表單,並通過了Java Servlet處理時它會發現電子郵件已被使用,並且一旦頁面重新加載,它將導致jsp頁面中的<label>變爲紅色。

+0

我不確定潛在的問題是什麼。如何發送消息?如何做驗證?如何使用視圖層值設置類? –

+0

如何使用Java將文本輸入區域下的行(

+0

使用視圖值作爲條件或類的名稱(如果語義足夠)並向類標籤添加類?我不太瞭解materializecss是如何工作的,但是如果它有一個錯誤類或知道驗證的JS應該足以讓你去。或者,如果驗證可以發出Ajax請求,則請求檢查電子郵件。 (請注意,您仍應在服務器端進行驗證。) –

回答

0

的問題的解決方案是,在服務器側(的Java Servlet)我將通過數據轉換成一個參數

request.setAttribute("emailError", "error with email"); 

和在客戶端側(JSP)我所做的:

<input type="email" name="email" id="email" value="${param.email}" class="validate" <c:if test="${ not empty emailError}">style="border-bottom: 2.5px solid red; "</c:if> > 
<label for="email" data-error="Invalid Email" data-success="">Email</label> 

如果你想也顯示從的Java servlet的消息,你可以添加

title="${emailError}" 

到輸入ŧ股份公司。這將創建一個額外的消息框來顯示錯誤消息。

使用此代碼,如果在服務器端發現錯誤,則會設置一條消息,並且一旦JSP頁面重新加載輸入行就會顯示紅色,表示發生錯誤。