服务器端错误验证

时间:2014-09-16 02:45:59

标签: angularjs angularjs-directive angularjs-scope

在我的应用程序中,我正在进行客户端和服务器端验证。客户端验证非常简单,用户无法点击submitForm按钮。但是假设输入的邮政编码与订单号不匹配,服务器在角度$ http呼叫承诺中给出了200响应中的错误。如何显示服务器端错误并保持验证?

{"result":{"success":false,"code":null,"message":"The entered Zip does not match with Order"},"errors":
   []

2 个答案:

答案 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)
      }
});