Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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# 在asp中,即使文本框为空,如何阻止数据添加到数据库中?_C#_Javascript_Asp.net_Database_Validation - Fatal编程技术网

C# 在asp中,即使文本框为空,如何阻止数据添加到数据库中?

C# 在asp中,即使文本框为空,如何阻止数据添加到数据库中?,c#,javascript,asp.net,database,validation,C#,Javascript,Asp.net,Database,Validation,我试图验证三个文本框,它们都只是文本字段。它们都通过sqlserver连接到数据库 现在我想知道如何阻止表单在其仍然为空时将空记录添加到我的数据库中。我有一些Javascript验证,它告诉用户字段是空的,但是在您单击消息框的OK之后,页面将刷新并添加一条空记录 如果有人能帮我写一点代码那就太好了 我的javascript如下所示: function myAddFunction() { var a = document.forms["form1"]["txtFirstNa

我试图验证三个文本框,它们都只是文本字段。它们都通过sqlserver连接到数据库

现在我想知道如何阻止表单在其仍然为空时将空记录添加到我的数据库中。我有一些Javascript验证,它告诉用户字段是空的,但是在您单击消息框的OK之后,页面将刷新并添加一条空记录

如果有人能帮我写一点代码那就太好了

我的javascript如下所示:

    function myAddFunction() {
        var a = document.forms["form1"]["txtFirstName"].value;
        var b = document.forms["form1"]["txtLastName"].value;
        var c = document.forms["form1"]["txtvercode"].value;
        if (a == null || a == "") {
            alert("Please Enter a value");
            return false;
        }
        if (b == null || b == "") {
            alert("Please Enter a value");
            return false;
        }
        if (c == null || c == "") {
            alert("Please Enter a value");
            return false;
        }
        else {
            alert("The Member has been added!");
            return true;
        }
    }
protected void btnAdd_Click(object sender, EventArgs e)
{

    SqlConnection conn = new SqlConnection(
    @"Data Source=(LocalDB)\v11.0; AttachDbFilename='|DataDirectory|\employees.mdf';
    Integrated Security=True");

    conn.Open();

    SqlCommand cmd = new SqlCommand("INSERT INTO membership (FirstName, LastName, MembershipClass, VerificationCode) VALUES ('" + txtFirstName.Text + "', '" + txtLastName.Text + "', '" + dropmemberclass.Text + "', '" + txtvercode.Text + "')", conn);

    cmd.ExecuteNonQuery();

    txtFirstName.Text = "";
    txtLastName.Text = "";
    txtvercode.Text = "";
    txtMemID.Text = "";
    txtmemdelete.Text = "";
    lblMemID.Text = "";
    lblMemIDSearch.Text = "";
}
我的Default.aspx.cs文件如下所示:

    function myAddFunction() {
        var a = document.forms["form1"]["txtFirstName"].value;
        var b = document.forms["form1"]["txtLastName"].value;
        var c = document.forms["form1"]["txtvercode"].value;
        if (a == null || a == "") {
            alert("Please Enter a value");
            return false;
        }
        if (b == null || b == "") {
            alert("Please Enter a value");
            return false;
        }
        if (c == null || c == "") {
            alert("Please Enter a value");
            return false;
        }
        else {
            alert("The Member has been added!");
            return true;
        }
    }
protected void btnAdd_Click(object sender, EventArgs e)
{

    SqlConnection conn = new SqlConnection(
    @"Data Source=(LocalDB)\v11.0; AttachDbFilename='|DataDirectory|\employees.mdf';
    Integrated Security=True");

    conn.Open();

    SqlCommand cmd = new SqlCommand("INSERT INTO membership (FirstName, LastName, MembershipClass, VerificationCode) VALUES ('" + txtFirstName.Text + "', '" + txtLastName.Text + "', '" + dropmemberclass.Text + "', '" + txtvercode.Text + "')", conn);

    cmd.ExecuteNonQuery();

    txtFirstName.Text = "";
    txtLastName.Text = "";
    txtvercode.Text = "";
    txtMemID.Text = "";
    txtmemdelete.Text = "";
    lblMemID.Text = "";
    lblMemIDSearch.Text = "";
}

将代码替换为以下内容:

SqlConnection conn = new SqlConnection(
    if(txtFirstName.Text != "" && txtLastName.Text != "" && txtvercode.Text = "")//And so on...
    {
        @"Data Source=(LocalDB)\v11.0; AttachDbFilename='|DataDirectory|\employees.mdf';
        Integrated Security=True");

        conn.Open();

        SqlCommand cmd = new SqlCommand("INSERT INTO membership (FirstName, LastName, MembershipClass, VerificationCode) VALUES ('" + txtFirstName.Text + "', '" + txtLastName.Text + "', '" + dropmemberclass.Text + "', '" + txtvercode.Text + "')", conn);

        cmd.ExecuteNonQuery();

        txtFirstName.Text = "";
        txtLastName.Text = "";
        txtvercode.Text = "";
        txtMemID.Text = "";
        txtmemdelete.Text = "";
        lblMemID.Text = "";
        lblMemIDSearch.Text = "";
    }
}

向我添加的条件添加更多…

将代码替换为以下内容:

SqlConnection conn = new SqlConnection(
    if(txtFirstName.Text != "" && txtLastName.Text != "" && txtvercode.Text = "")//And so on...
    {
        @"Data Source=(LocalDB)\v11.0; AttachDbFilename='|DataDirectory|\employees.mdf';
        Integrated Security=True");

        conn.Open();

        SqlCommand cmd = new SqlCommand("INSERT INTO membership (FirstName, LastName, MembershipClass, VerificationCode) VALUES ('" + txtFirstName.Text + "', '" + txtLastName.Text + "', '" + dropmemberclass.Text + "', '" + txtvercode.Text + "')", conn);

        cmd.ExecuteNonQuery();

        txtFirstName.Text = "";
        txtLastName.Text = "";
        txtvercode.Text = "";
        txtMemID.Text = "";
        txtmemdelete.Text = "";
        lblMemID.Text = "";
        lblMemIDSearch.Text = "";
    }
}
在我添加的条件中添加更多…

您可以在每个
文本框中添加一个:

<asp:RequiredFieldValidator id="RequiredFieldValidator2"
                 ControlToValidate="txtFirstName"
                 Text="First name is a required field"
                 ForeColor="red" 
                 runat=server>

这将验证客户端和服务器端的数据,因此您不需要任何Javascript代码。

您可以在每个
文本框中添加一个:

<asp:RequiredFieldValidator id="RequiredFieldValidator2"
                 ControlToValidate="txtFirstName"
                 Text="First name is a required field"
                 ForeColor="red" 
                 runat=server>


这将验证客户端和服务器端的数据,因此您不需要任何Javascript代码。

您可以向列中添加任何键(如主键),这样它就不会接受null值,并向文本框中添加requiredfieldvalidator

您可以向列中添加任何键(如主键),这样它就不会接受null值并添加文本框的requiredfieldvalidator检查此项

<asp:CustomValidator ID="myCustValidator" runat="server" ControlToValidate="txtFirstName"  OnServerValidate="ServerFirstNameValid"></asp:CustomValidator>

protected void ServerFirstNameValid(object source, ServerValidateEventArgs args)
{
   args.IsValid = !String.IsNullOrEmpty(txtFirstName.Text.Trim());
   if (!args.IsValid)
         myCustValidator.ErrorMessage="First Name should not be Empty";
}

受保护的void ServerFirstNameValid(对象源,ServerValidateEventArgs args)
{
args.IsValid=!String.IsNullOrEmpty(txtFirstName.Text.Trim());
如果(!args.IsValid)
myCustValidator.ErrorMessage=“名字不应为空”;
}
检查此项

<asp:CustomValidator ID="myCustValidator" runat="server" ControlToValidate="txtFirstName"  OnServerValidate="ServerFirstNameValid"></asp:CustomValidator>

protected void ServerFirstNameValid(object source, ServerValidateEventArgs args)
{
   args.IsValid = !String.IsNullOrEmpty(txtFirstName.Text.Trim());
   if (!args.IsValid)
         myCustValidator.ErrorMessage="First Name should not be Empty";
}

受保护的void ServerFirstNameValid(对象源,ServerValidateEventArgs args)
{
args.IsValid=!String.IsNullOrEmpty(txtFirstName.Text.Trim());
如果(!args.IsValid)
myCustValidator.ErrorMessage=“名字不应为空”;
}

Hi Nirock,我现在让它工作了,我所要做的就是把if语句放在外面,然后把其余的SqlConnection位嵌套在if语句里面,它工作起来就像一个符咒!嗨,Nirock,我现在开始工作了,我所要做的就是把if语句放在外面,然后把其余的SqlConnection位嵌套在if语句里面,它工作起来很有魅力!嗨,nmat,我也试过这个。但这不是我想要的东西。无论如何谢谢你,我也试过了。但这不是我想要的东西。无论如何谢谢你