我有 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/