這塊的代碼是用struts2的UI標籤寫的,用jquery驗證我還沒有找到方法,就只能通過事件觸發來添加驗證了。
要求Requisition ID必須是數字的。
<tr>
<td style="width: 100px"><span>Region</span></td>
<td>
<select name="jobCriteria.regionId" id="regionId" style="width: 157px">
<option selected="selected" value="0"></option>
<c:forEach var="item" items="${requestScope.regionMap}">
<c:if test="${jobCriteria.regionId==item.key}">
<option value="${item.key}" selected="selected">${item.value.name}</option>
</c:if>
<c:if test="${jobCriteria.regionId!=item.key}">
<option value="${item.key}">${item.value.name}</option>
</c:if>
</c:forEach>
</select>
</td>
<td style="width: 100px"><span>Requisition ID</span></td>
<td>
<s:textfield name="jobCriteria.forsuccessId" cssStyle="width:150px" theme="simple" onblur="OnRequisitionID(this)" />
</td>
</tr>
<tr>
<td colspan="4"><div id="err_requisition_id" style="margin-left: 450px; display:none ;padding:0px;margin-bottom:0px"><span style="color:red">RequisitionID is not correct.</span></div></td>
</tr>
function OnRequisitionID(textField){
var text = $(textField).val();
///^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/;
if( isNaN(text) || text == "")
$("#err_requisition_id").show();
else
$("#err_requisition_id").hide();
}
然後將驗證的javascript代碼使用script標籤導入進來就好了。
小小的感慨下,這個項目在界面上一會是struts2標籤,一會是使用html標籤,弄的驗證很混亂。讓我對設計階段有了點認識,規範的重要性啊!
如果全部都用struts2,就可以使用內置的valiidators也是蠻不錯的。
可惜現在弄的很混亂啊~