2013-02-22 87 views
0

嗨,我是MVC的初学者我已经编写了验证代码,但它不工作任何人都可以请帮我。 下面是型号代码:验证在MVC

[Required] 
public string Name { get; set; } 

这里是查看代码:

  @Html.TextBoxFor(m => m.ContactDetailSubSections[i].Name) 
      @Html.ValidationMessageFor(m=>m.ContactDetailSubSections[i].Name) 

在此先感谢您的帮助

+0

页面中是否存在验证脚本? – 2013-02-22 06:45:43

+0

确保不显眼的验证已启用 – 2013-02-22 06:46:14

+0

是的,我已经做到了。我正在验证正在工作的字符串的长度,但所需的字段不起作用。 – 2013-02-22 06:48:03

回答

0

首先,你不需要任何JS库用于ASP.NET MVC服务器验证。
其次,你应该检查控制器,模型是有效的。

if (ModelState.IsValid) { 
    //do something 
} 
return View(); //you can return view with optional parameters 

另外,应该检查哪方法,您在使用(POST或GET),并检查该方法在控制器中使用(用于发送数据始终使用POST方法)发送数据。

[HttpPost] 
public ActionResult Index(YourModel model) { 
    if (ModelState.IsValid) { 
     //do something 
    } 
    return View(); 
} 

这是你(Validation.zip)项目:http://sdrv.ms/UP3DIE(我使用VS 2012)
只有一个具有所需的属性和自定义错误消息(型号LocalValidationTestModel)字段。并在视图有两种方法用于显示错误:
@ Html.ValidationSummary()和@ Html.ValidationMessageFor(X => x.TestField)

所有JS脚本和CSS样式板缺。

另外,你为什么使用数组?

0

我想你应该引用jQuery的几个文件。 然后在行动,你必须做一些事情,如:

if(ModelState.IsValid) { //TODO } return View(); 

和行动必须添加属性[HttpPost]