我是Angular.js的新手,我正在开发一个应用程序的注册页面。在这里,我将用户电话号码作为主键。在用户输入他的电话号码后的注册表格中,我正在对数据库进行AJAX调用以检查号码是否已存在。我成功地完成了这一部分。但是,如果用户已经注册,我没有得到如何向用户显示错误消息。
我的index.html代码
<div class="form-group" ng-class="{ 'has-error' : userForm.contactno.$invalid && (userForm.contactno.$dirty || submitted) }">
<label>ContactNo</label>
<input phone type="text" name="contactno" class="form-control" ng-model="user.phone" placeholder="Your Contact No" ng-pattern="/^[789]\d{9}$/" maxlength="10">
<p ng-show="userForm.contactno.$error.pattern && (userForm.contactno.$dirty || submitted)" class="help-block">Enter a valid contactno.</p>
</div>
这是我的AJAX电话:
myAppDirectives.
directive('phone', function() {
return {
restrice: 'A',
require: 'ngModel',
link: function(scope, element, attrs, ctrl) {
angular.element(element).bind('blur', function() {
var phnNum = this.value;
$.ajax({
url: 'http://localhost:8087/users/'+phnNum,
dataType: 'application/json',
type: 'GET',
success: function( data, status, headers, cfg ){
console.log("data" +data);
},
error: function( jqXHR, textStatus, errorThrown ){
if(result.responseText.length===0){
console.log("you can register now");
}
else{
console.log("User with this number is already registered");
}
}
});
});
}
提前致谢
答案 0 :(得分:3)
在页面中显示错误消息非常容易。只需将错误消息传递给作用域并将其显示在相关页面中。像这样。使用Ajax进行练习,在角度请求中使用$ http.post或$ http.get。
$scope.checkNumber=function(phnNum){
$http.post('http://localhost:8087/users', phnNum).success(function(data){
if(data == "false"){
$scope.error = 'User with this number is already registere.';
} else {
$scope.submitTrueMessage = 'you can register now';
$scope.error = null;
}
});
};
这就是您在视图中显示错误消息的方法。
<span style="color:red"> {{error}} </span>
希望这些信息对您有所帮助。
答案 1 :(得分:0)
如果您想在数据库中存在电话号码时显示提醒,您应该尝试在api中进行编码。
答案 2 :(得分:0)
您可以在回调函数中编写逻辑,即&#34; success&#34; &安培; &#34;错误&#34;
或者您也可以使用Angular JS的ngMessages模块来设计自定义错误消息。
docs.angularjs.org/api/ngMessages
答案 3 :(得分:0)
检查电话号码是否已经通过数据库中的循环退出,然后使用
{{error}}
并在代码部分中定义错误,如果part和in部分存储电话号码。