在我的应用程序中,我正在进行客户端和服务器端验证。客户端验证非常简单,用户无法点击submitForm
按钮。但是假设输入的邮政编码与订单号不匹配,服务器在角度$ http呼叫承诺中给出了200响应中的错误。如何显示服务器端错误并保持验证?
{"result":{"success":false,"code":null,"message":"The entered Zip does not match with Order"},"errors":
[]
答案 0 :(得分:1)
可能不是确切的答案,但可以提供帮助:
1)在服务器端,如果有错误,您应该首先停止脚本到达数据库。
2)以关联数组的形式在数组中填充服务器端的错误消息,其中包含字段名称作为键,错误消息作为值。稍后以JSON格式将数组发送到客户端。
3)在客户端循环遍历JSON对象以初始化将包含每个字段的错误消息的范围变量。
可能采用以下格式:serverErrors.fieldName.error ='来自服务器的错误消息'
这应该是范围对象。并且应该在每个字段的模板上呈现相同的对象。因此,当您循环访问JSON并将错误消息分配给每个字段时,它将显示在模板中。由于Angular有双向绑定。
这样您就可以处理自定义服务器端验证并在客户端显示错误。这不仅仅是理论上我们在其中一个项目中实施了这种方法。
希望有所帮助:)
答案 1 :(得分:0)
我想你可以试试
$http.post('URL', { "ID": ID }).success(function (resultData) {
if (results.result.success) {
alert("scuess!");
$window.location.href = "/";
}
else {
alert(results.result.message)
}
});