一个消息框中的数据验证和错误列表c#

时间:2018-05-29 16:57:32

标签: c# messagebox

希望你们一切顺利。我想请教你一个建议。

我正在寻找一种在执行OnClick按钮之前验证数据的方法。 我确实有一些ComboBoxes可供选择。目前我已经使用了一些解决方案,它确实看起来很肮脏"我并不高兴。

目前我正在使用类似的东西:

if(box1 == null)
{
   MessageBox.Show("Error 1");
}
if(box2 == null)
{
   MessageBox.Show("Error 2");
}
if(box3 == null)
{
   MessageBox.Show("Error 3");
}

如果我有3个字段为空,我将为每个错误显示3次消息。如果错误为真,有没有办法列出一个消息框中的所有错误?

我在考虑这样的事情:

bool a = true;
bool b = true;
bool c = true;

a = (box1 == null);
b = (box2 == null);
c = (box3 == null);

if(a || b || c)
{
  //Display list of errors where condition is true
}

我非常感谢任何建议。

非常感谢提前。

2 个答案:

答案 0 :(得分:0)

对此String builder

使用字符串构建器
private object box1;
private object box2;
private object box3;

//The following code base could be in a button click event

StringBuilder errorMessages = new StringBuilder();

if(box1 == null)
{
   errorMessages.AppendLine("Error 1");
}
if(box2 == null)
{
   errorMessages.AppendLine("Error 2");
}
if(box3 == null)
{
   errorMessages.AppendLine("Error 3");
}

if(!string.IsNullOrWhiteSpace(Convert.ToString(errorMessages)))
{
    MessageBox.Show(errorMessages.ToString(), "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}

enter image description here

答案 1 :(得分:0)

这样的事情:

var errors = new List<string>();
if(box1 == null)
   errors.Add("Error 1");
if(box2 == null)
   errors.Add("Error 2");
if(box3 == null)
   errors.Add("Error 3");

if (errors.Count > 0) 
   MessageBox.Show(string.Join(Environment.NewLine, errors));