C# MVC Validate jsonString 发布到控制器动作
Posted
技术标签:
【中文标题】C# MVC Validate jsonString 发布到控制器动作【英文标题】:C# MVC Validate jsonString posted to Controller Action 【发布时间】:2017-06-02 08:15:19 【问题描述】:在典型的 MVC 控制器中,我们可以将 Json 主体与模型绑定,只要所有参数都匹配,如下所示:
[HttpPost]
public void PostPerson(Person p)
//stuff
但是,我注意到使用提琴手,如果我要做这样的事情:
"name":,
"age": 12
控制器会自动返回 InternalServerError。我希望能够返回自定义消息。如果是这种情况,我该如何验证 Json?
我最初认为无效的 Json 会导致 Person 对象变为 NULL,因此我为此创建了一个处理程序以返回自定义消息,但在此处尝试后,情况似乎并非如此。
【问题讨论】:
看看自定义模型绑定器 【参考方案1】:1) 处理错误
我会查看这篇关于不同级别的错误处理的文章。 http://www.dotnettricks.com/learn/mvc/exception-or-error-handling-and-logging-in-mvc4
你可以捕捉不同级别的错误,并返回不同的错误响应。
2) 修复输入
还要考虑当系统的不同部分同意以给定格式 (JSON) 进行通信时,双方不应该遵守吗?客户端向您发送损坏的 JSON 也是一个错误,不是吗?通过清理前端界面几乎可以消除这种情况。
【讨论】:
以上是关于C# MVC Validate jsonString 发布到控制器动作的主要内容,如果未能解决你的问题,请参考以下文章
MVC4 中带有 jquery.validate.unobtrusive 的文件
自定义 asp.net mvc 3 jquery.validate.unobtrusive
MVC4 JQuery validate 无法验证非必填字段