文本框上必需的字段验证

时间:2014-10-05 06:49:23

标签: c# database ms-access

          try
        {
            Connections.con.Open();
            string str = "INSERT INTO `Employee` (`FirstName`, `LastName`, `DOB`, `ContactNumber`, `Username`, `Password`) VALUES (?, ?, ?, ?, ?, ?)";
            OleDbCommand cmd = new OleDbCommand(str, Connections.con);
            cmd.Parameters.AddWithValue("@?", txtFirst.Text.ToString());
            cmd.Parameters.AddWithValue("@?", txtLast.Text.ToString());
            cmd.Parameters.AddWithValue("@?", txtDOB.Text.ToString());
            cmd.Parameters.AddWithValue("@?", txtCon.Text.ToString());
            cmd.Parameters.AddWithValue("@?", txtUser.Text.ToString());
            cmd.Parameters.AddWithValue("@?", txtPass.Text.ToString());


            cmd.ExecuteNonQuery();

            MessageBox.Show("Registration Successful");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Username Exists.");
        }
        finally
        {

            Connections.con.Close();
            this.Dispose();
            this.Close();
            f1.Show();
        }

我找不到表单会提示“请填写空字段”的消息的方法。 每当用户忘记填写文本框时

3 个答案:

答案 0 :(得分:1)

在后端代码中,您只需验证文本框中的值,如下所示:

if(String.IsNullOrEmpty(txtFirst.Text))
{
    // return required field message 
}

但是,我还会使用jQuery.Validation或类似方法在前端添加验证:http://jqueryvalidation.org/

顺便说一下,尝试使用“using”语句封装数据持久性代码,它会自动关闭连接并为您处理它。

答案 1 :(得分:0)

TextBox上使用Required Field Validator

示例代码:

   <asp:TextBox id="TextBox1" runat="server"/>

   <asp:RequiredFieldValidator id="RequiredFieldValidator1"
        ControlToValidate="TextBox1"
        ErrorMessage="Required"
        runat="server"/>

在用户填写Textbox之前,它不会 PostBack ,并且会在之后显示消息Required(您可以通过设置ErrorMessage =“YourMessage”来更改它) TextBox

答案 2 :(得分:0)

创建CheckTextBoxes作为返回布尔值的函数,并在其中检查那些空的文本框:

if (TextBox1.Text.Trim().Length == 0) 
{
    MessageBox.Show ("Your Message");
    return false;
}

同样,您可以检查此功能中的多个文本框,如果任何文本框为空,则返回false,因此您无需执行 TRY 部分

您的尝试将如下所示:

try
{
if(CheckTextBoxes() == true)
{
  // Your code

}