返回多个变量的自定义错误消息

时间:2012-03-05 23:55:02

标签: c# asp.net-mvc

我有一个带有三个变量的控制器操作,我检查数据验证并在失败时显示一条消息。这是我的代码:

    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");

    }

在这里,我不想为每个变量显示单独的验证消息,而是我想要通过每个验证,然后显示列出所有失败的一条消息。因此,如果以上三个条件都失败了,我想显示:

  

“未找到以下项目:名字,姓氏,学生证”

提前致谢

3 个答案:

答案 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