textfieldの検証の追加

2372 ワード

このコードはstruts 2の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ラベルでインポートすればいいです.
 
小さな感慨の下で、このプロジェクトはインタフェースの上でstruts 2ラベルで、htmlラベルで、検証が混乱しています.私に設計段階に対して少し認識させて、規範の重要性!
全部struts 2を使えば内蔵valiidatorsが使えるのもいいですね.
残念ながら今は混乱していますね~