【发布时间】:2017-03-20 16:35:50
【问题描述】:
我正在使用 ajax 加载部分视图的内容,并通过填充 div 的 html 将返回的 HTML 直接输出到页面。这是ajax:
$.ajax({
data: { productId: productId },
datatype: "text/plain",
type: "GET",
url: theUrl,
cache: false,
success: function (data) {
$("#contentArea").html(data);
}
});
这一切都按预期工作。根据多种因素,部分视图中的实际 html 会有所不同,其中一种可能的情况会返回一个要求一些反馈的表单。
我有客户端验证在这个表单上工作,但服务器端验证不合作。
我的验证是 FluentValidation 并且在我的控制器中我有这几行(myValidator 是我的 FluentValidation 验证器并且工作正常):
var valResult = myValidator.Validate(myRequest);
if (!valResult.IsValid) return Redirect(Request.UrlReferrer);
这一半有效,只要数据无效,IsValid 检查就会失败,但是我的重定向只是在没有服务器端验证消息的情况下再次重新加载页面。大概这是因为我正在使用重定向。
鉴于我正在使用 ajax 动态加载此表单,我如何让它重新加载页面但验证消息到位?
【问题讨论】:
标签: c# asp.net-mvc fluentvalidation