Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 必填字段验证器允许提交空文本框_C#_Asp.net_Requiredfieldvalidator_Asp.net Validators - Fatal编程技术网

C# 必填字段验证器允许提交空文本框

C# 必填字段验证器允许提交空文本框,c#,asp.net,requiredfieldvalidator,asp.net-validators,C#,Asp.net,Requiredfieldvalidator,Asp.net Validators,我有一个提交表单的两个文本框所需的字段验证器。我的表格代码如下。出于某种奇怪的原因,它不会验证并允许将空字符串输入数据库。正在输入的字段是char,但它不会将其提交为null,只是为空 前端 <td style="width: 315px; height: 22px;border-right: solid 1px #a32020;"> <asp:TextBox ID="txtCompanyName" runat="server"

我有一个提交表单的两个文本框所需的字段验证器。我的表格代码如下。出于某种奇怪的原因,它不会验证并允许将空字符串输入数据库。正在输入的字段是char,但它不会将其提交为null,只是为空

前端

    <td style="width: 315px; height: 22px;border-right: solid 1px #a32020;">
                    <asp:TextBox ID="txtCompanyName" runat="server" BorderColor="#A32020" style ="border-right: solid 1px #a32020;" OnTextChanged="txtCompanyName_TextChanged" CausesValidation="True"></asp:TextBox>
                &nbsp;<asp:RequiredFieldValidator ID="rfvCoName" runat="server" ControlToValidate="txtCompanyName" Display="Dynamic" ErrorMessage="Please do not leave the Company Name blank." ValidationGroup="vgCompanyCreate"></asp:RequiredFieldValidator>
                </td>

编辑:忽略插入连接字符串部分,实际的连接字符串与其他函数测试的一样工作正常

我设法找到了解决办法


基本上,我发现所有相关字段也需要验证组。不仅仅是验证器

最好的方法是向codebhind.cs类添加代码

 protected void btnSubmitCompany_Click(object sender, EventArgs e)
    {
txtCompanyName.BorderColor = System.Drawing.Color.White;

if (txtCompanyName.Text="")
{
txtCompanyName.BorderColor = System.Drawing.Color.Red;
//Add error message if you want
}
else
{
if (Page.IsValid)
        {
            // Creating a new connection to the database. 
            -- Insert Connection String --

            // Creating a new command to insert the input values into the database.
            SqlCommand SubmitCompanyCmd = new SqlCommand("Insert into Employer ([EmployerID], [Name], [Status], [Remarks], [DateLastModified], [LastModifiedBy]) Values(@inputCoID, @inputCoName, @inputCoStatus, @inputCoRemarks, @currentDateTime, 'Admin')", conn);

            SubmitCompanyCmd.Parameters.AddWithValue("@inputCoID", txtCompanyID.Text);
            SubmitCompanyCmd.Parameters.AddWithValue("@inputCoName", txtCompanyName.Text);
            SubmitCompanyCmd.Parameters.AddWithValue("@inputCoStatus", ddlCompanyStatus.Text);
            SubmitCompanyCmd.Parameters.AddWithValue("@inputCoRemarks", txtCompanyRemarks.Text);
            SubmitCompanyCmd.Parameters.AddWithValue("@currentDateTime", DateTime.Now);

            conn.Open();
            SubmitCompanyCmd.ExecuteNonQuery();
            conn.Close();
            lblSuccessMsg.Text = "Yay. xqc";
}
}
或者您可以使用bootstrap required属性,这是非常基本的

<asp:TextBox ID="txtCompanyName" runat="server" BorderColor="#A32020" style ="border-right: solid 1px #a32020;" OnTextChanged="txtCompanyName_TextChanged"  requrired="true"></asp:TextBox>
<asp:TextBox ID="txtCompanyName" runat="server" BorderColor="#A32020" style ="border-right: solid 1px #a32020;" OnTextChanged="txtCompanyName_TextChanged"  requrired="true"></asp:TextBox>