为什么我的模型状态'使用ajax Post时不更新
本文关键字:Post ajax 更新 使用 模型 我的 状态 为什么 | 更新日期: 2023-09-27 18:14:18
为什么我的ModelState在控制器不更新或显示为真,即使有一个错误。这是我的代码
$('#extracontent').on('click', '#Save', function () {
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: $('#form').serializeArray(),
success: ...,
error: ...
}
});
//}
});
[Authorize]
[HttpPost]
public ActionResult Edit(EditUserModel savedUserModel)
{
if (!ModelState.IsValid) // model.isValid is true even when there is an error in model
return PartialView....
我已经试过了TryUpdateModel (savedUserModel)调用UpdateModel (savedUserModel)
但模型状态仍然有效…验证工作我已经测试过使用简单的POST返回
现在我很尴尬,在markpsmith的问题之后,我开始粘贴我的模型验证,我意识到用于渲染视图的对象类和用于参数的对象类是不同的对象,但具有非常相似的属性,这就是为什么绑定属性都被正确填充,但验证从未执行因为参数中的对象没有验证运行....
无论如何,更改save controller以更正模型可以解决此问题。