我有一个带有三个变量的控制器操作,我检查数据验证并在失败时显示一条消息。这是我的代码:
public ActionResult Validate(string fName, string lName, string sId)
{ if (fName <> Data.GetFristName(fName))
return Content("First Name " + fName + " not found");
if (lName <> Data.GetFristName(lName))
return Content("Last Name " + lName + " not found");
if (sId <> Data.GetFristName(sId))
return Content("Student ID " + sId + " not found");
return Content("successful");
}
在这里,我不想为每个变量显示单独的验证消息,而是我想要通过每个验证,然后显示列出所有失败的一条消息。因此,如果以上三个条件都失败了,我想显示:
“未找到以下项目:名字,姓氏,学生证”
提前致谢
答案 0 :(得分:1)
public ActionResult Validate(string fName, string lName, string sId)
{
string result = "";
if (fName <> Data.GetFristName(fName))
{
result = result + fName;
}
if (lName <> Data.GetFristName(lName))
{
result = result + lName );
}
if (sId <> Data.GetFristName(sId))
{
result = result + sId;
}
return "Following Items were not found: " + result;
}
答案 1 :(得分:1)
我建议使用mvc提供的内置验证摘要。这是一个强调如何使用它的教程,它非常有用:
http://www.asp.net/mvc/tutorials/older-versions/models-%28data%29/performing-simple-validation-cs
答案 2 :(得分:1)
如果出于某种原因,您不想使用内置验证,则可以使用ValidationResult类。您可以传递collection of invalid members或返回ValidationResult.Success。