Как проверить нулевую ссылку на объект при проверке форм в MVC - PullRequest
0 голосов
/ 28 мая 2010

Я экспериментирую с проверкой форм в рамках asp.net MVC.

Сейчас я сосредоточен на проверке на стороне сервера. Я столкнулся с ошибкой, которую я не уверен, как исправить.

System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта.

Код, который выдает ошибку:

[AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Create([Bind(Exclude="ID")] MembersCreate mc )
    {
        mc.Modules = ModuleListDataContext.GetModuleList();
        ViewData.Model = mc;

        //Validation using ModelState

        //
        //
        //line below errors when form field is empty
        //
        if ((string)mc.Member.Username.Trim() == "")
            ModelState.AddModelError("Member.Username", "Username is required.");

        if (!ModelState.IsValid)
            return View();

        try
        {
            // TODO: Add insert logic here

            return RedirectToAction("Index","Home");
        }
        catch
        {
            return View();
        }
    }

Когда я ставлю пробелы в поле, он работает точно так, как я хочу, но если я оставляю поле пустым и нажимаю "Отправить", я получаю ошибку.

Каков наилучший способ избежать этой ошибки и при этом проверить пустые поля формы?

Спасибо всем -

1 Ответ

3 голосов
/ 28 мая 2010
if (string.IsNullOrEmpty(mc.Member.Username) || (mc.Member.Username.Trim()==string.Empty))
{
    ModelState.AddModelError("Member.Username", "Username is required.");
}
...