为textfield添加验证

本文介绍了一个使用Struts2 UI标签的表单,并通过jQuery实现了RequisitionID字段的数字验证。当输入不符合要求时,会显示错误提示。

 这块的代码是用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也是蛮不错的。

可惜现在弄的很混乱啊~

 

在 SwiftUI 中,`TextField` 是一个用于获取用户输入的控件,它支持文本输入和绑定状态,能够灵活地与用户界面交互。以下是对 `TextField` 的使用方法、实现细节以及一些常见问题的说明。 ### 创建基本的 TextField `TextField` 的基本用法是创建一个文本输入框,并将输入的内容绑定到一个状态变量。例如,可以使用 `@State` 属性包装器将输入内容与界面同步: ```swift import SwiftUI struct ContentView: View { @State private var inputText: String = "" var body: some View { VStack { TextField("请输入文本", text: $inputText) .textFieldStyle(RoundedBorderTextFieldStyle()) .padding() Text("你输入的内容是: \(inputText)") .padding() } } } ``` 上述代码创建了一个简单的文本输入框,并通过绑定 `$inputText` 实时显示用户输入的内容 [^1]。 ### TextField 的状态管理 `TextField` 可以与其他状态管理功能结合使用,例如通过 `@FocusState` 来跟踪输入框的焦点变化。这种机制可以用于动态调整界面元素的状态,例如根据输入框是否获得焦点来改变文本颜色: ```swift @State private var username: String = "" @FocusState private var emailFieldIsFocused: Bool = false var body: some View { TextField("User name (email address)", text: $username) .focused($emailFieldIsFocused) .onSubmit { validate(name: username) } .textInputAutocapitalization(.never) .disableAutocorrection(true) .border(.secondary) Text(username) .foregroundColor(emailFieldIsFocused ? .red : .blue) } ``` 此代码示例展示了如何通过 `@FocusState` 跟踪焦点状态,并根据状态动态调整其他 UI 元素 [^2]。 ### TextField 的样式调整 `TextField` 的外观可以通过内置的样式或自定义修饰符进行调整。常见的内置样式包括 `.textFieldStyle(RoundedBorderTextFieldStyle())`,它为输入框添加圆角边框。此外,也可以通过自定义修饰符或 `InputDecoration` 类似的机制(在 SwiftUI 中为 `.border()` 或其他修饰符)进一步调整外观。 例如,下面的代码展示了如何为 `TextField` 添加边框并禁用自动更正功能: ```swift TextField("请输入文本", text: $inputText) .textFieldStyle(RoundedBorderTextFieldStyle()) .border(.secondary) .disableAutocorrection(true) ``` 这种调整方式可以满足大多数常见的 UI 需求 [^3]。 ### 常见问题与解决方案 1. **如何实时获取输入内容?** 使用 `@State` 或 `@Binding` 属性包装器绑定输入内容即可实现。 2. **如何处理提交事件?** 通过 `.onSubmit {}` 修饰符可以定义用户按下键盘“完成”按钮时的逻辑。 3. **如何控制自动更正功能?** 使用 `.disableAutocorrection(true)` 可以禁用自动更正功能。 4. **如何动态调整 TextField 的外观?** 通过结合状态变量和修饰符(如 `.border()` 或 `.foregroundColor()`)实现动态样式调整。 5. **如何验证输入内容?** 可以在 `.onSubmit {}` 或其他事件中调用验证函数。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值