我有一个表格,上面有一些字段:
folderNameLabel
folderTitle
folderDescription
folderCategory
在用户按下之前OK
,我想检查所有这些字段是否不存在==""
。我想做一个函数来接收一个array
as 参数并返回一个bool
值,但我不知道如何编写它......
public bool Validate(List<string> parameters)
{
foreach(string parameter in parameters)
{
if(String.IsNullOrEmpty(parameter))
{
return false;
}
}
return true;
}
您可以执行以下操作:
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;
}
问题:你如何告诉用户他错过了哪个字段?
在您的情况下,您可以显示“您需要填写所有字段”消息,但只有一个可选字段,这不再起作用。这就是为什么您通常不执行上述操作的原因。