Asp.net 验证失败后如何重置输入字段?
我有一个日期输入字段的验证器。如果输入不是MM/DD/YYYY格式,则应抛出错误并清除输入。我尝试了Text=”“属性,但不起作用。SetFocusOneError只工作一次。如果我按tab键两次,该字段将丢失foucs。有什么想法吗Asp.net 验证失败后如何重置输入字段?,asp.net,Asp.net,我有一个日期输入字段的验证器。如果输入不是MM/DD/YYYY格式,则应抛出错误并清除输入。我尝试了Text=”“属性,但不起作用。SetFocusOneError只工作一次。如果我按tab键两次,该字段将丢失foucs。有什么想法吗 <asp:RegularExpressionValidator ID="startDateValidator" Display="Dynamic" ControlToValidate="dateStartDate" Va
<asp:RegularExpressionValidator ID="startDateValidator" Display="Dynamic"
ControlToValidate="dateStartDate" ValidationExpression="([0-9]|1[012])[/]([0-9]|[12][0-9]|3[01])[/](19|20)\d\d"
ErrorMessage="Start Date should be in MM/DD/YYYY format" runat="server" SetFocusOnError="true"
/>
编辑:我想知道使用asp的验证程序控件是否可以实现这一点。以及为什么SetFocusOneError不能正常工作 您应该始终在服务器端进行验证,此外,您当然可以在客户端进行验证(可用性)
可以通过JavaScript清除文本框,但是考虑到用户可以禁用JavaScript。这也是您应该始终在服务器端进行验证的原因
<script language=JavaScript>
<!--
function clear_textbox()
{
document.text_form.u_input.value = "";
}
-->
</script>
您可以运行此脚本,您需要将u_输入更改为控件名称。作为用户,我更希望您不清除文本框。我也会这样做。因此,我的第二个问题是验证程序为什么会失去焦点。