c# - 如何将 JavaScript 错误从操作传递到 View ?

标签 c# javascript jquery asp.net-mvc error-handling

我有 2 个操作,一个用于 GET,另一个处理 POST 请求。

虽然我在客户端进行了验证,但我也在服务器端检查了一些内容(在我的操作方法中)。

在 POST 操作中,当我发现要向 UI 报告的错误等时,我有哪些选项可以将消息/错误发送回客户端?


备注:

我正在使用流行的 jQuery 验证插件 als。

最佳答案

如果您正在使用从 View 到发布操作的模型绑定(bind),它内置了可用于此目的的验证。

然而,有些人更喜欢在模型之外进行验证。要将这些错误返回给 View ,您需要更新 ModelState,然后进行正常检查是否有效(包含错误):

    public Dictionary<string, string> ValidateEntry(Object obj)
    {
        var errors = new Dictionary<string, string>();

        if (string.IsNullOrEmpty(obj.Owner))
        {
            errors.Add("Owner", "You must select Owned By.");
        }
        //... whatever else
        return errors;
    }

     [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Edit(Object cap)
    {
       var errors = ValidateEntry(cap);
        if (errors.Count > 0)
        {
            foreach (var err in errors)
            {
                ModelState.AddModelError(err.Key, err.Value);
            }
        }
        if (ModelState.IsValid)
        {
           //... do if valid
        }
        return View(ViewModel);
    }

关于c# - 如何将 JavaScript 错误从操作传递到 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1058299/

相关文章:

javascript - 视频内联 iOS 不工作

javascript - 对 IE 内存管理和 javascript 的有趣观察

c# - 如果两个字符串都包含值,则需要连接两个字符串;如果第一个字符串为 NULL,则返回一个值

c# - 在 Windows 7 中注销 Alt-Tab 热键

c# - MVC 4 - 如何有条件地禁用此按钮?

javascript - 如何在 angularJS 中查看日期对象

javascript - 使用jQuery的$ .post()填充编号的按钮

javascript - 面板内的 jQuery Accordion 对齐

javascript - 用于 ajax 的 JSON 世界市场 api 中的多个键和值

c# - 将字符串列表放入 NSUserDefaults 对象