我正在尝试在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();
}
}
当我在字段中放置空格时,它会按照我想要的方式执行,但如果我将该字段留空并按提交,则会收到错误。
避免此错误并仍然验证空白表单字段的最佳方法是什么?
全部谢谢 -
答案 0 :(得分:3)
if (string.IsNullOrEmpty(mc.Member.Username) || (mc.Member.Username.Trim()==string.Empty))
{
ModelState.AddModelError("Member.Username", "Username is required.");
}