Как следует из названия. Как мне обработать ошибку в FluentValidation, когда я использую пост формы с AJAX / jQuery?
вот мой JS
function Create(controlId: any) {
var control = $('#' + controlId);
var controller = control.data('controller');
var url = '/' + controller + '/Create';
var serializeForm = control.serialize();
$.ajax({
url: url,
type: 'post',
data: serializeForm,
success: function (data) {
if (data && data.IsSuccess == true) {
// do success
}
else if (data && data.IsSuccess == false) {
// this one if there is error in my service
}
},
error: function (e) {
// do error
}
});
}
и вот мой контроллер
[HttpPost]
public virtual async Task<IActionResult> Create([CustomizeValidator(RuleSet = "Create")] TViewModel vm)
{
if (ModelState.IsValid)
{
var result = await service.CreateAsync(vm, 1);
return Json(result);
}
return View(vm);
}
Возможно ли это сделать с моим текущим кодом?
В моем ServiceResult у меня есть:
RecordId
IsSuccess
Message (this one is for error in the service)
И для моего текущего кода я не могу обработать, если в моем FluentValidation есть ошибка, потому что я только возвращаю код View(vm)
Так есть ли другой способ справиться с этим?
Извините за мой английский. Заранее спасибо