0

我有一个表格,上面有一些字段:

folderNameLabel
folderTitle
folderDescription
folderCategory

在用户按下之前OK,我想检查所有这些字段是否不存在==""。我想做一个函数来接收一个arrayas 参数并返回一个bool值,但我不知道如何编写它......

4

2 回答 2

0
public bool Validate(List<string> parameters)
{
   foreach(string parameter in parameters)
   {
        if(String.IsNullOrEmpty(parameter))
        {
            return false;
        }
   }
   return true;
}
于 2012-09-14T08:59:58.363 回答
0

您可以执行以下操作:

private void btnOK_Click(object sender, EventArgs e)
{
    bool fieldsFilled = ValidateStrings(folderNameLabel.Text, 
                                        folderTitle.Text, 
                                        folderDescription.Text, 
                                        folderCategory.Text);
    if (fieldsFilled)
        DialogResult = DialogResult.OK;
    else
    {
        // Report errors
    }
}

private bool ValidateStrings(params string[] items)
{
    bool result = true;
    for (int i = 0; i < items.Length && result; i++)
        result &= !String.IsNullOrWhitespace(items[i]);

    return result;
}

问题:你如何告诉用户他错过了哪个字段?

在您的情况下,您可以显示“您需要填写所有字段”消息,但只有一个可选字段,这不再起作用。这就是为什么您通常不执行上述操作的原因。

于 2012-09-14T09:01:35.967 回答