由於多人開發上要要求每個人在某某功能的版面時要按照怎樣的結構來刻 HTML 有難度
加上之前跟某位朋友聊天時提到他們家有使用 Scaffold Templates
故想說.... 與其一直宣導該怎樣寫,不如讓大家預設拿到的就是結構已經長好的頁面
if (!ModelState.IsValid) return new HttpStatusCodeResult(HttpStatusCode.BadRequest)
public class ModelStateValidationFilter : System.Web.Mvc.ActionFilterAttribute
{
public override void OnActionExecuting(System.Web.Mvc.ActionExecutingContext filterContext)
{
if (!filterContext.Controller.ViewData.ModelState.IsValid)
{
var errors = from errs in (
from modelstate in filterContext.Controller.ViewData.ModelState.Values
select modelstate.Errors
)
where errs.Count > 0
select errs[0].ErrorMessage;
// 用 Elmah 記錄誰在哪邊沒通過驗證
Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception(String.Join(",",errors.ToArray())));
// 回應錯誤
throw new HttpException(400);
}
}
}
filters.Add(new ModelStateValidationFilter());