Asp.net 验证失败后如何重置输入字段?

Asp.net 验证失败后如何重置输入字段?,asp.net,Asp.net,我有一个日期输入字段的验证器。如果输入不是MM/DD/YYYY格式,则应抛出错误并清除输入。我尝试了Text=”“属性,但不起作用。SetFocusOneError只工作一次。如果我按tab键两次,该字段将丢失foucs。有什么想法吗 <asp:RegularExpressionValidator ID="startDateValidator" Display="Dynamic" ControlToValidate="dateStartDate" Va

我有一个日期输入字段的验证器。如果输入不是MM/DD/YYYY格式,则应抛出错误并清除输入。我尝试了Text=”“属性,但不起作用。SetFocusOneError只工作一次。如果我按tab键两次,该字段将丢失foucs。有什么想法吗

<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_输入更改为控件名称。

作为用户,我更希望您不清除文本框。我也会这样做。因此,我的第二个问题是验证程序为什么会失去焦点。