如何验证表单输入值以查看它是否存在于数据库中

时间:2018-06-18 22:53:15

标签: javascript angularjs node.js postgresql express

我对编码很新,我正在使用angularJS,NodeJS和ExpressJS构建应用程序。我遇到了一个问题,试图验证数据库中是否找到输入值,如果是,则允许访问新视图。

我可以获得服务的价值,我可以在控制台登录时看到该值,但之后我就迷失了。

我正在努力学习验证,这就是我这样做的原因。 任何帮助将不胜感激

这是我的代码

HTML

<form ng-submit='adminPermission(secret_key)'>
            <div class="login-form-username-container">
                <div class="login-form-username-text">Please see owner for key</div>              
                <input id="username-input" class="form-control" type="text" ng-model="secret_key" placeholder="Secret Key" required>
            </div>       
            <div class="check-submit-login">
                <button id="button-text" type="submit"><strong>Check</strong></button>
            </div>
            <div class="back-button-admin" ui-sref="login">Or go back</div>
        </form>

控制器

  $scope.adminPermission = function (secret_key) {
    adminService.adminPermission(secret_key)
      .then(function (response) {
        if (!response.data) {
          console.warn("Unable to get creds");
        } else{ 
          $state.go('newadmin');
        }
      });
  };

服务

this.adminPermission = (secret_key) => {
    console.log(secret_key);
    return $http({
        method: 'POST',
        url: '/admin-permission/' + secret_key,
    }).then((response) => {
        console.log(response);
        return response;
    });
};

这是我迷失的地方。我在IndexJS中设置了端点,但我对如何在TrainerCtrl中设置逻辑以检查验证感到迷失

IndexJS

app.post('/admin-permission/:secret_key', trainerCtrl.adminPermission);

TrainerCtrl

  adminPermission: (req, res) => {
    app.get('db').get_secret_key([]).then(response => {
      const user = response;
      console.log("success")
      res.status(200).send(response)
    }).catch(err => console.log(err))
  },

SQL

select * from secret_key
where secret_key = $1;

如何验证名为secret_key的表单发送的值是否与数据库中的值匹配?

0 个答案:

没有答案