检查是否所有字段都已填充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":
.........
}
}
但它不起作用。正确的做法是什么?
您检查的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");
}