将多个方法调用包装到一个if语句中

时间:2014-01-13 15:25:21

标签: c# validation if-statement

我有一个验证方法,我调用它来验证表单上的字段。我想把它们放在一个if语句中检查它们是否返回true然后在我的else语句中将它们插入到我的数据库中。我已经声明了方法并声明了insert方法。如何编写if语句来检查所有验证方法是否都返回true?

我的方法验证调用:

formValidation(firstnameTextBox.Text);
formValidation(lastnameTextBox.Text);
formValidation(usernameTextBox.Text);
formValidation(passwordTextBox.Text);
formValidation(emailTextBox.Text);
formValidation(cellnumberTextBox.Text);

1 个答案:

答案 0 :(得分:4)

只需使用AND运算符(&&

if(formValidation(firstnameTextBox.Text) &&
formValidation(lastnameTextBox.Text) &&
formValidation(usernameTextBox.Text) &&
formValidation(passwordTextBox.Text) &&
formValidation(emailTextBox.Text) &&
formValidation(cellnumberTextBox.Text))
{
}

作为mentioned in the comments,如果你想要运行所有方法(以显示每个字段的相关错误),无论如何,并且一旦遇到第一个错误就不会停止,你可以使用非短路AND,即&运算符。

或者,您可以将文本框放入集合中并对该集合执行操作:

var fieldsToValidate = new TextBox[]{firstnameTextBox, lastnameTextBox, ...}
if(fieldsToValidate.All(field => formValidation(field.Text));
相关问题