验证仍然在DB中保存空字段

时间:2016-01-08 12:54:01

标签: angularjs validation controller

我是AngularJS的新手。我需要验证fields,因此当用户输入empty信息时,会显示错误,但数据仍然无法保存到DB。如果信息有效,那么必须将其保存到我的DB

messages工作正常,但如果用户离开empty字段并点击submit,内容仍会保存。

以下是我对controller的确认:

    app.controller('addContactCtrl', ['$scope', '$http', function($scope, $http)    
{
    $scope.newContact = function(contact) {
        $scope.queryMsg= ""; //displays if sent or not in html form
        //post is used to create
        $http.post('model/addContact.php', contact).success(function(data) {
                if (data && contact != "") 
                {//row inserted into table
                  $scope.queryMsg = "Query has been sent successfully.";
                  $scope.contact = "";
                }
                else
                {
                  $scope.queryMsg = "Fields cannot be left empty.";
                }
            })
        };
    }
]);

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您可能需要在发布数据之前对其进行验证。你在发帖后做验证。请试试这个

    app.controller('addContactCtrl', ['$scope', '$http', function($scope, $http)    
     {
       $scope.newContact = function(contact) {
         $scope.queryMsg= ""; //displays if sent or not in html form
         //post is used to create
         if (contact != "") { 
           $http.post('model/addContact.php', contact).success(function(data) {
                if (data){
                  $scope.queryMsg = "Query has been sent successfully.";
                }
            })
         } else {

          $scope.queryMsg = "Fields cannot be left empty.";
         }

        };
    }
]);

答案 1 :(得分:0)

我会在表单上验证。 在表单有效之前,将禁用提交按钮,您可以使用ng-messages显示消息。

您可以阅读更多相关信息https://scotch.io/tutorials/angularjs-form-validation

<form name="myForm">
    <input ng-model="data" required>
    <input ng-model="contact" required>
    <button ng-disabled myform.$invalid >submit</button>
</form>