Asp.net mvc MVC中的验证文本框
我有以下代码,我不知道是错误:Asp.net mvc MVC中的验证文本框,asp.net-mvc,validation,Asp.net Mvc,Validation,我有以下代码,我不知道是错误: [AcceptVerbs(HttpVerbs.Post)] public ActionResult Create(factura fac) { if (fac.numar>0) ModelState.AddModelError("numar", "Numar este invalid ."); if (fac.serie.Trim().Length == 0)
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(factura fac)
{
if (fac.numar>0)
ModelState.AddModelError("numar", "Numar este invalid .");
if (fac.serie.Trim().Length == 0)
ModelState.AddModelError("serie", "Serie invalida");
if (!ModelState.IsValid) return View("Create", fac);
}
在这里,我尝试验证一个文本框“serie”,我得到了以下错误
Object reference not set to an instance of an object.
谢谢首先,请重新格式化以便阅读?把所有代码放在一个块里 接下来,调试并检查这些表达式是否为null:
- 学院系列
- 工厂
看起来null或null都可能引发此异常。可能是后者。如果合适的话,在计算前用保护条件包装以检查它是否为空。首先,请重新格式化以便于阅读?把所有代码放在一个块里 接下来,调试并检查这些表达式是否为null:
- 学院系列
- 工厂
看起来null或null都可能引发此异常。可能是后者。如果合适,在计算之前,将其包装在一个保护条件中以检查它是否为空。检查
string.IsNullOrEmpty(fac.serie)
或string.IsNullOrWhitespace(fac.serie)
最有可能的
serie
为空。检查string.IsNullOrEmpty(fac.serie)
或string.IsNullOrWhitespace(fac.serie)
最有可能的
serie
为空。可能还值得研究DataAnnotation、元数据和一些jQuery.validate,这样您就不必通过检查来编码,因为您必须执行上述代码来编辑和创建代码,从而复制代码。搜索DataAnnotation是完成这一切的一个极好的工具。然后添加一个ModelState.IsValid而不是if this,if that etc等还有一个新的post速记助手而不是accept动词你可以直接使用[HttpPost],但对于上面的内容,我将逐步介绍并查看fac,这将为你提供字段和值的详细信息。这可能也值得查看DataAnnotation,元数据和一点jQuery.validate,这样您就不必通过检查来编码,因为您必须执行上面的代码来编辑和创建代码,从而复制代码。搜索DataAnnotation是完成这一切的一个极好的工具。然后添加一个ModelState.IsValid,而不是if this,if that etc等。现在还有一个新的post速记助手,而不是accept动词。您可以使用[HttpPost],但对于上面的内容,我将逐步浏览并查看fac,这将为您提供字段和值的详细信息