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

本文关键字:填充 字段 是否 检查 | 更新日期: 2023-09-27 18:14:22

我有一个里面有数字的ComboBox

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

txt_user1 ' txt_email1 ' txt_tel1

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

txt_user1 ' txt_email1 ' txt_tel1
txt_user2 ' txt_email2 ' txt_tel2

等等…

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

我试着做这样的事情:(使用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":
                .........
      }
  } 

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

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

您检查的if语句不正确

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

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

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

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");
 }