c# - 带有javascript确认功能的必填字段验证器未验证

标签 c# javascript asp.net validation

我正在使用必填字段验证器,它验证文本框并在单击提交按钮时我必须要求确认,并且我使用 java 脚本的 confirm() 函数。 问题是,当我在确认框页面回发中按确定时,当我将文本框留空时,必填字段验证器不会停止页面。 在阅读了 stackoverflow 的帖子后,我使用自定义验证器停止了页面,但我无法在此处查看代码。

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" ValidationGroup="one" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
    <asp:TextBox ID="TextBox1" runat="server" ValidationGroup="one"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Button" 
        OnClientClick="validate();"  ValidationGroup="one" onclick="Button1_Click"/>
    <asp:CustomValidator ID="CustomValidator1" ValidateEmptyText="true" runat="server" ValidationGroup="one" ErrorMessage="CustomValidator"></asp:CustomValidator>

    <script type='text/javascript'>   
           function validate() {
            var cv = document.getElementById('MainContent_CustomValidator1');
            if (cv) {
                cv.isValid = confirm('are you sure want to update record ?');
            }
     }  </script>

最佳答案

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" ValidationGroup="one" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
    <asp:TextBox ID="TextBox1" runat="server" ValidationGroup="one"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Button" 
        OnClientClick="return validate();"  ValidationGroup="one" onclick="Button1_Click"/>
    <asp:CustomValidator ID="CustomValidator1" ValidateEmptyText="true" runat="server" ValidationGroup="one" ErrorMessage="CustomValidator" ClientValidationFunction="TextBox1Client"></asp:CustomValidator>

 <script type='text/javascript'>   
        function validate() {
          if(confirm('are you sure want to update record ?')){
          return true;
          }
          else
          {
          return false;
          }
       }
//you need to add a custom validot client function also  
       function TextBox1Client(sender, args) {
       //write your custom code here
        args.IsValid = false;
        //OR
        args.IsValid =true;
       }
    </script>

关于c# - 带有javascript确认功能的必填字段验证器未验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10634088/

相关文章:

javascript - 上传后从客户端 PC 删除文件,但仅在获得客户端许可后

c# - DataGridView 自定义 DataGridViewColumn 单元格出现奇怪的字符 'q' 问题

javascript - 除了在 Firefox 中,Div 和 textarea 的行为相同 - 怎么办?

javascript - 如何在模块之间更新此变量的值?

asp.net - 在 IIS Express 的 web.config 中添加 MIME 映射

c# - 如何使用正确的参数测试方法的调用?

c# - 是否可以在不阻止所有表单的情况下使用 ShowDialog?

javascript - 使用 Node js 和 redis - 获得可读代码

asp.net - 从非域 Web 主机连接到 SQL Server 的最佳方法

javascript - 我在 asp.net 中的复选框不适用于代码隐藏文件