验证在MVC
问题描述:
嗨,我是MVC的初学者我已经编写了验证代码,但它不工作任何人都可以请帮我。 下面是型号代码:验证在MVC
[Required]
public string Name { get; set; }
这里是查看代码:
@Html.TextBoxFor(m => m.ContactDetailSubSections[i].Name)
@Html.ValidationMessageFor(m=>m.ContactDetailSubSections[i].Name)
在此先感谢您的帮助
答
您可以使用启用它没有按”标准验证MVC的客户端验证功能t需要控制器中的任何服务器端代码。
Enable Client side Validation-2
但是你还必须检查ModestState.IsValid()在控制器级别获得更好的安全性。
答
首先,你不需要任何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样式板缺。
另外,你为什么使用数组?
答
我想你应该引用jQuery的几个文件。 然后在行动,你必须做一些事情,如:
if(ModelState.IsValid) { //TODO } return View();
和行动必须添加属性[HttpPost]
页面中是否存在验证脚本? – 2013-02-22 06:45:43
确保不显眼的验证已启用 – 2013-02-22 06:46:14
是的,我已经做到了。我正在验证正在工作的字符串的长度,但所需的字段不起作用。 – 2013-02-22 06:48:03