Обязательное поле проверки позволяет отправлять пустое текстовое поле

У меня есть обязательное поле проверки для двух текстовых полей для формы отправки. Мой код для формы ниже. По какой-то странной причине он не проверяется и позволяет вводить пустую строку в базу данных. Поля, которые вводятся, являются символами, но они не передаются как пустые.

Внешний интерфейс

    <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>

C#

    protected void btnSubmitCompany_Click(object sender, EventArgs e)
    {
        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";
        }

edit: игнорировать часть "Вставить строку подключения", фактическая строка подключения работает так же хорошо, как проверено с другими функциями.

2 ответа

Мне удалось найти решение.

По сути, я обнаружил, что все соответствующие поля также нуждаются в группе проверки. Не только валидаторы.

Лучший способ - добавить код в ваш код (класс.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";
}
}

Или вы можете использовать загрузочный атрибут "required", который является очень простым.

<asp:TextBox ID="txtCompanyName" runat="server" BorderColor="#A32020" style ="border-right: solid 1px #a32020;" OnTextChanged="txtCompanyName_TextChanged"  requrired="true"></asp:TextBox>
Другие вопросы по тегам