1

看来我无法进行验证。

我只有一个500 Internal Server Error. 而我responseText的是"{"Message":"An error has occurred."}"

但它不应该是 400 错误并包含更详细的内容吗?

这是我的模型:

public class InjuryNoAnnotationModel
{
    public int OutfitterId { get; set; }
    public string OutfitterName { get; set; }
    public string LicenseNumber { get; set; }
    public System.DateTime InjuryDate { get; set; }
    public int InjuryHour { get; set; }
    public int InjuryMinute { get; set; }
} 

我的json:

var data = {
            "OutfitterId": "11",
            "OutfitterName": "WVDNR -- For Testing",
            "LicenseNumber": "sss",
            "InjuryDate": "08/16/2013",
            "InjuryHour": "sss",
            "InjuryMinute": "0"
        };

如果InjuryHour是数字,模型绑定将起作用。可以到达我的控制器中的断点。.done()到达成功回调。

但是,如果我将其更改InjuryHour为文本,它会抛出 500 而不是 400。我的控制器断点永远不会到达。达到失败回调.fail()

4

1 回答 1

0

如果InjuryHour是String,它不能自动转换并匹配到InjuryNoAnnotationModelparam.example,Action定义:public ActionResult DoSomething(InjuryNoAnnotationModel model),那么请求将不匹配它。实际上,Route会找到名为的Action DoSomething(int OutfitterId,string OutfitterName....**string InjuryHour**,int InjuryMinute)。所以,服务器响应500错误:不是实施。InjuryHour 转换为字符串是正确的。断点不起作用肯定是其他原因,你能显示动作代码吗?

于 2013-08-29T01:01:29.583 回答