我有一个主 - 细节视图,用于在ASP NET 3.5 MVC 1.0应用程序中添加,删除和更新客户。例如,用户应该能够从列表中选择要编辑的客户,并在页面底部显示详细的表单以供他/她编辑客户的数据。使用Ajax在ASP NET MVC验证失败时返回500错误可以吗?
当用户接受更改时,数据通过Ajax POST提交给服务器。验证仅在服务器端执行。
- 如果验证失败,我希望客户数据的表单重新加载,显示所有验证错误。如果
- 如果验证成功,我希望整个客户列表重新加载所有新客户的数据(或者我只能重新加载正在编辑的客户记录)。
现在到了。我正考虑在第一种情况下返回带有验证错误的表单的部分视图,或者在第二种情况下使用客户列表的部分视图。
为了区别该页面的一部分应该更新,返回一个500或200状态码,并使用Ajax 失败和succeess函数来执行更新。
我的问题是:使用500错误(内部服务器错误)来表示验证失败时,它在语义上是正确的吗?或者我应该返回一个包含isValid布尔值以及HTML正文的JSON对象,并避免依赖于状态码?
谢谢!