0

我正在尝试在 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();
        }
    }

当我在该字段中放置空格时,它会完全按照我的意愿执行,但是如果我将该字段留空并按提交,我会收到错误消息。

避免此错误并仍然验证空白表单字段的最佳方法是什么?

谢谢大家-

4

1 回答 1

3
if (string.IsNullOrEmpty(mc.Member.Username) || (mc.Member.Username.Trim()==string.Empty))
{
    ModelState.AddModelError("Member.Username", "Username is required.");
}
于 2010-05-28T17:28:24.963 回答