asp.net必需的字段验证器禁用输入按钮表单提交



我们有一个包含许多必填字段的表单。当我在一个必填字段上并且按下回车键时,表单不会提交。但是,如果我所在的字段不是必需的,那么按enter键确实会提交表单。这是有问题的,因为提交表单会触发验证,从而在顶部显示验证摘要。如果我在一个必填字段上,它不会触发此验证。它似乎确实启动了自己的验证并显示了我的错误文本(只是一个星号),但人们没有看到这一点。

有人知道为什么非必填字段输入键会提交表格,而必填字段输入密钥不会?

根据您所描述的,听起来像是在使用服务器端验证。尝试在验证器上将EnableClientScript设置为false,这将禁用客户端验证。

如果这还不够,您可以在点击提交按钮时覆盖验证,如下所示:

<script type="text/javascript">
    validateForm = function(){
        var isValid = Page_ClientValidate("");
        if (isValid){
            //some custom logic if needed
        }
        return true; //do the postback even if validation fails?
                     //otherwise return isValid
    }
</script>
<asp:Button ID="Button1" runat="server" OnClientClick="return validateForm();" ... />

最新更新