Javascript Angular JS在div中的ajax post之后显示用户错误消息
我有一个简单的表单,当发布错误时,我想在div框中向用户反馈屏幕上的错误消息。最好的方法是什么 这是目前为止我的控制器: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
.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;
}
});