Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular JS在div中的ajax post之后显示用户错误消息_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript Angular JS在div中的ajax post之后显示用户错误消息

Javascript Angular JS在div中的ajax post之后显示用户错误消息,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我有一个简单的表单,当发布错误时,我想在div框中向用户反馈屏幕上的错误消息。最好的方法是什么 这是目前为止我的控制器: .controller("CompanyUserFormCtrl", ['$scope', 'Restangular', 'CbgenRestangular', '$q', function ($scope, Restangular, CbgenRestangular, $q) { // Submit form $scope.submi

我有一个简单的表单,当发布错误时,我想在div框中向用户反馈屏幕上的错误消息。最好的方法是什么

这是目前为止我的控制器:

.controller("CompanyUserFormCtrl", ['$scope', 'Restangular', 'CbgenRestangular', '$q',
    function ($scope, Restangular, CbgenRestangular, $q) {
        // Submit form
        $scope.submit = function () {
            var post_data = {email: $scope.email}
            var post_call = CbgenRestangular.all('accounts/create-company').post(post_data)

            $q.when(post_call.then(

                function (object) {
                   // on success
                },
                function (object) {
                     // on error
                    // render in a div some error message here <----------
                }
            ))
        }
    }])
.controller(“CompanyUserFormCtrl”、[“$scope”、“restanglar”、“cbgenrestanglar”、“$q”,
函数($scope,restanglar,cbgenrestanglar,$q){
//提交表格
$scope.submit=函数(){
var post_data={email:$scope.email}
var post_call=CbgenRestangular.all('accounts/create company').post(post_数据)
$q.when(后通话)(
功能(对象){
//论成功
},
功能(对象){
//论错误

//在div中呈现一些错误消息此处向包含错误的div添加ng show指令,并在错误发生时将其值设置为true

e、 g


向包含错误的div添加ng show指令,并在错误发生时将其值设置为true

e、 g


向包含错误的div添加ng show指令,并在错误发生时将其值设置为true

e、 g


向包含错误的div添加ng show指令,并在错误发生时将其值设置为true

e、 g


我没有示例,而且我对Angular非常陌生,但您可以使用指令:

<div ng-show="error.length">{{error}}</div>
编辑:现在


EDIT2:使用“.length”-version!

我没有示例,而且我对Angular非常陌生,但您可以使用指令:

<div ng-show="error.length">{{error}}</div>
编辑:现在


EDIT2:使用“.length”-version!

我没有示例,而且我对Angular非常陌生,但您可以使用指令:

<div ng-show="error.length">{{error}}</div>
编辑:现在


EDIT2:使用“.length”-version!

我没有示例,而且我对Angular非常陌生,但您可以使用指令:

<div ng-show="error.length">{{error}}</div>
编辑:现在

EDIT2:使用“.length”-版本!

您可以使用
用户名:
这是拍的
m、 指令('callBack',函数(isUsernameAvailable){
返回{
限制:“A”,
要求:'ngModel',
链接:功能(范围、元素、属性、模型){
ngModel.$asyncValidators.unique=isUsernameAvailable;
}
};
});
m、 工厂('isExist',函数($q,$http){
返回函数(用户名){
var deferred=$q.deferred();
$http.get('/api/emp/'+username){
//找到用户,因此不是唯一的。
拒绝();
},函数(){
//未找到用户,因此是唯一的!
延迟。解决();
});
回报。承诺;
}
});
您可以使用
用户名:
这是拍的
m、 指令('callBack',函数(isUsernameAvailable){
返回{
限制:“A”,
要求:'ngModel',
链接:功能(范围、元素、属性、模型){
ngModel.$asyncValidators.unique=isUsernameAvailable;
}
};
});
m、 工厂('isExist',函数($q,$http){
返回函数(用户名){
var deferred=$q.deferred();
$http.get('/api/emp/'+username){
//找到用户,因此不是唯一的。
拒绝();
},函数(){
//未找到用户,因此是唯一的!
延迟。解决();
});
回报。承诺;
}
});
您可以使用
用户名:
这是拍的
m、 指令('callBack',函数(isUsernameAvailable){
返回{
限制:“A”,
要求:'ngModel',
链接:功能(范围、元素、属性、模型){
ngModel.$asyncValidators.unique=isUsernameAvailable;
}
};
});
m、 工厂('isExist',函数($q,$http){
返回函数(用户名){
var deferred=$q.deferred();
$http.get('/api/emp/'+username){
//找到用户,因此不是唯一的。
拒绝();
},函数(){
//未找到用户,因此是唯一的!
延迟。解决();
});
回报。承诺;
}
});
您可以使用
用户名:
这是拍的
m、 指令('callBack',函数(isUsernameAvailable){
返回{
限制:“A”,
要求:'ngModel',
链接:功能(范围、元素、属性、模型){
ngModel.$asyncValidators.unique=isUsernameAvailable;
}
};
});
m、 工厂('isExist',函数($q,$http){
返回函数(用户名){
var deferred=$q.deferred();
$http.get('/api/emp/'+username){
//找到用户,因此不是唯一的。
拒绝();
},函数(){
//未找到用户,因此是唯一的!
延迟。解决();
});
回报。承诺;
}
});

我通过添加$scope.error=“test”尝试了这一点,但什么也没有发生,即ng show=“{{error}}”没有显示在Dom中,我看到了这一点,但没有消息test。ng show指令应该有ng show='createFailed'而不是ng show='{{createFailed}',我通过添加$scope.error=“test”尝试了这一点,但什么也没有发生,即ng show=“{{error}”没有在Dom中显示我看到了这一点,但没有消息测试ng show指令应该有ng show='createFailed'而不是ng show='{{createFailed}}'我通过添加$scope.error=“test”尝试了这一点,但什么也没有发生,例如ng show=“{error}}”没有在Dom中显示我看到了这一点,但没有消息测试ng show指令应该有ng show='createFailed'而不是ng show='{{createFailed}}'我通过添加$scope.error=“test”尝试了这一点,但什么也没有发生,例如ng show=“{error}}”没有在Dom中显示我看到了这一点但没有消息测试ng show指令应该有ng show='createFailed'而不是ng show='{createFailed}'
        $q.when(post_call.then(

            function (object) {
               // on success
            },
            function (object) {
                $scope.error = object.errorText;
            }
        ))
    You can use 
    <label>
      Username:
      <input type="text" ng-model="user.username" name="username"
        required
        call-back />
    </label>

    <ng-messages for="signUpForm.username.$error" ng-if="signUpForm.username.$dirty">
      <ng-message when="unique" class="error">This is taken</ng-message>
    </ng-messages>

    m.directive('callBack', function(isUsernameAvailable) {
      return {
        restrict: 'A',
        require: 'ngModel',
        link: function(scope, element, attrs, ngModel) {
          ngModel.$asyncValidators.unique = isUsernameAvailable;
        }
      };
    });


m.factory('isExist', function($q, $http) {
  return function(username) {
    var deferred = $q.defer();

    $http.get('/api/emp/' + username).then(function() {
      // Found the user, therefore not unique.
      deferred.reject();
    }, function() {
      // User not found, therefore unique!
      deferred.resolve();
    });

    return deferred.promise;
  }
});