возвращая пользовательское сообщение об ошибке для нескольких переменных - PullRequest
0 голосов
/ 06 марта 2012

У меня есть действие контроллера с тремя переменными, которые я проверяю для проверки данных и отображаю сообщение, если оно терпит неудачу.Вот мой код для этого:

    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 ]

1 голос
/ 06 марта 2012

Я бы порекомендовал использовать встроенную сводку проверки, которую предоставляет mvc. Вот учебник, в котором рассказывается, как его использовать, он весьма полезен:

http://www.asp.net/mvc/tutorials/older-versions/models-%28data%29/performing-simple-validation-cs

1 голос
/ 06 марта 2012

Если по какой-то причине вы не хотите использовать встроенную проверку, вы можете использовать класс ValidationResult . Вы можете передать коллекцию недопустимых членов или вернуть ValidationResult.Success .

1 голос
/ 06 марта 2012
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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...