我正在使用ASP.NET MVC 4
和jQuery Validate
。
我的页面上有一个文本框和一个按钮。它是一个按钮,而不是提交按钮。单击按钮时,我验证输入到文本框中的数字并显示 2 个局部视图中的 1 个。
这是我的HTML
标记:
@Html.TextBoxFor(x => x.ChangeIncidentNumber)
<button id="verifyButton" type="button">Verify</button>
@Html.ValidationMessageFor(x => x.ChangeIncidentNumber)
在我开始使用 jQuery Validate 之前,我是这样做的:
$(document).ready(function () {
$('#verifyButton').click(function () {
$.ajax(
{
type: "POST",
url: "/Server/GetChangeIncidentDetails",
data: { changeIncidentNumber: $('#ChangeIncidentNumber').val() },
dataType: "html",
success: function (result) {
var domElement = $(result);
$("#changeIncidentDetails").html(domElement);
}
});
});
});
我的GetChangeIncidentDetails
操作方法:
public ActionResult GetChangeIncidentDetails(string changeIncidentNumber)
{
ImplementationType implementationType = GetImplementationType(changeIncidentNumber);
try
{
if (implementationType == ImplementationType.Change)
{
Change change = changeService.FindChangeByNumber(changeIncidentNumber);
if (change != null)
{
ChangeViewModel viewModel = Mapper.Map<ChangeViewModel>(change);
return PartialView("ChangeInformation", viewModel);
}
else
{
// If it is null then I want to display an error message on the front end
}
}
else if (implementationType == ImplementationType.Incident)
{
// Code is almost similar as above
}
else
{
}
}
catch (Exception ex)
{
// Handle error
}
}
在进入上面的操作方法之前,我在图片中添加了 jQuery Validate 以处理一些客户端验证。这是我目前拥有的:
$(document).ready(function () {
$("#searchForm").validate({
rules: {
ChangeIncidentNumber: "required"
},
messages: {
ChangeIncidentNumber: "Required"
}
});
$('#verifyButton').click(function () {
$('#searchForm').valid();
});
});
我不确定如何将 2 合并在一起,验证和 ajax 调用是否可以一起完成,我是否需要将其分开,以及如何显示客户端错误消息if change == null
?