![](/img/trans.png)
[英]ASP.NET MVC data annotations client side validation with inherited RegularExpressionAttribute
[英]Asp.net Mvc2 Data Annotations Validation (Client Side works, Server side Doesnt??)
我正在使用带有元数据注释的实体模型。 我的控制器方法看起来像这样...
if (!ModelState.IsValid)
{
return View(model);
}
else
{
UpdateModel(model);
repo.Save();
return RedirectToAction("Index");
}
如果在视图中启用了客户端验证,我将根据元数据类中的属性获得错误。 如果我进行客户端验证,则保存到数据库时会抛出错误,而不是返回带有错误摘要的视图。
这是我观点的顶部。
<% using (Html.BeginForm())
{%>
<%: Html.ValidationSummary(true) %>
我已经尝试过在调试和发布模式下运行时不进行调试(ctrl + f5)以及设置断点和调试(f5),但是在没有服务器端验证的情况下进行客户端验证似乎很奇怪。 我在这里想念什么?
UpdateModel从表单集合,路由参数等填充模型,并在服务器端进行验证。 更新后,您需要检查ModelState.IsValid。 通常的模式是...
if (!TryUpdateModel(model))
{
// Validation Failed...
return View(model);
}
// Validation Passed...
请注意,TryUpdateModel捕获异常,如果引发异常,则返回false。 如果不是,则简单返回ModelState.IsValid。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.