检查所有字段是否已填写c#

时间:2015-09-23 10:14:46

标签: c# if-statement textbox switch-statement

我的ComboBox里面有数字。

如果您选择数字" 1"它将打开以下文本框:

txt_user1 \ txt_email1 \ txt_tel1

如果您选择数字" 2"它将打开以下文本框:

txt_user1 \ txt_email1 \ txt_tel1
txt_user2 \ txt_email2 \ txt_tel2

等等......

当我单击“确定”按钮时,我想验证文本框中的所有字段是否已填充(至少一个字母或一个数字)

我尝试做这样的事情:(使用switch语句)

  public void button2_Click_3(object sender, EventArgs e)
  {
      switch (comboBox1.Text) 
      {
            case "1":
                if (!string.IsNullOrWhiteSpace(txt_user1.Text || txt_email1.Text)) 
                {
                    MessageBox.Show("can't continue");
                }
                break;

            case "2":
                .........
      }
  } 

但它不起作用。 这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

您签入的if声明不正确

if (!string.IsNullOrWhiteSpace(txt_user1.Text || txt_email1.Text))

应该是

if (string.IsNullOrWhiteSpace(txt_user1.Text) || string.IsNullOrWhiteSpace(txt_email1.Text))

答案 1 :(得分:0)

另一种方法是检查所有可见文本框是否都有值。像

这样的东西
using System.Linq;

public void button2_Click_3(object sender, EventArgs e)
{
   bool invalid = this.Controls.OfType<TextBox>()
     .Where(t => t.Visible)
     .Any(t => string.IsNullOrWhiteSpace(t.Text);
   if (invalid)
     MessageBox.Show("can't continue");
 }