【问题标题】:DRF and Angular form validationDRF 和 Angular 表单验证
【发布时间】:2015-11-25 14:57:18
【问题描述】:

我有一些简单的问题,我被困住了,我真的需要一些帮助。对于我的项目,我在服务器端使用 Django Rest Framework,在客户端使用 AngularJs。

我的问题是:我正在使用 Angular 在客户端进行表单验证,

1) 我是否必须在服务器端进行验证,因为如果有人访问我的 api 端点,可以很容易地注册用户, 2) 如何在服务器端进行验证。

我的阴天观点是我不太清楚 angular 和 django rest 是如何相互通信的

谢谢。

【问题讨论】:

  • 它们通常通过 AJAX 上的 JSON 进行通信。您需要在双方都进行验证。在客户端,因为您希望用户获得即时反馈,而在服务器上,因为您不希望恶意用户通过手工制作 AJAX 请求向您的 API 提交错误数据,而这些请求不是您的客户端代码编写的.
  • 有人可以告诉我如何使用 Django Rest Framework 在服务器端验证“POST”数据并将其插入数据库吗?我真的被困在了这个

标签: angularjs django forms validation django-rest-framework


【解决方案1】:

您可以同时进行客户端和服务器验证。在 Bootstrap/Angular 中,您可以使用标签“必需”进行验证。

当您将数据从前端发送到后端时,如果出现错误,DRF 将发送回客户端,您可以在下面点亮的 Angular 调用中显示/处理此错误。

SomeService.CreateEntry.then(function success(data){
                   // Do append a bootstrap success message on the client side
              }, function error(msg) {
                    // Do append a bootstrap error strip to show the server error on the client side 
              });  
};

通常在执行 PUT/POST 时,如果服务器上出现任何错误,则错误消息以 json 形式给出,字段为 key。在服务中调用 API 时,您可以执行以下操作。

   $http({
          method: 'POST',
          url: url,
          headers: {......},
          data : data_to_server,  
        })
          .success(function (data) {
            return data;
          })
          .error(function (error) {
            return error;
          });

  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-03
    • 2020-08-14
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    相关资源
    最近更新 更多