Angularjs 检查唯一电子邮件id的自定义指令问题

Angularjs 检查唯一电子邮件id的自定义指令问题,angularjs,asp.net-mvc,angularjs-directive,Angularjs,Asp.net Mvc,Angularjs Directive,我正在处理Angularjs表单,我需要验证输入值是否在数据库中。 我的html如下所示 <div class="form-group mg-btm0" show-errors> <label class="control-label col-sm-4 fw-norm txt-right">Email ID:</label> <div class="col-sm-8">

我正在处理Angularjs表单,我需要验证输入值是否在数据库中。 我的html如下所示

<div class="form-group mg-btm0" show-errors>
                <label class="control-label col-sm-4 fw-norm txt-right">Email ID:</label>
                <div class="col-sm-8">
                    <input type="email" class="form-control" placeholder="Email ID" name="emailAddress" ng-required="true" autocomplete="Off" ng-model="User.emailId"
                        ng-maxlength="100" emailid-available-validator>
                    <span class="help-block" ng-if="RegisterUser.emailAddress.$error.email">A valid email is required.</span>
                    <span class="help-block" ng-if="RegisterUser.emailAddress.$error.maxlength">Max length is 100.</span>
                    <span class="help-block" ng-if="RegisterUser.emailAddress.$pending"> Checking emailId...</span>
                    <span class="help-block" ng-if="RegisterUser.emailAddress.emailidAvailable">EmailId entered has already been registered</span>
                </div>
            </div>
angularFormsApp.directive('emailidAvailableValidator', ['$http', function ($http) {
    var baseurl = window.location.protocol + "//" + window.location.host + "/";
    return {
        require: 'ngModel',
        link: function ($scope, element, attrs, ngModel) {
            ngModel.$asyncValidators.emailidAvailable = function (value) {
                //var emailid = { 'emailid': emailaddress };
                return $http.get(baseurl + "Users/CheckExternalUserExists/", { emailid: value });
            };
        }
    }
}])
[HttpGet]
        public ActionResult CheckExternalUserExists(string emailid)
        {
            if (AccountExecutor.UserExists(emailid))
            {
                return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Exists");
            }
            return new HttpStatusCodeResult(HttpStatusCode.OK, "Not Exists");
        }
控制器如下所示

<div class="form-group mg-btm0" show-errors>
                <label class="control-label col-sm-4 fw-norm txt-right">Email ID:</label>
                <div class="col-sm-8">
                    <input type="email" class="form-control" placeholder="Email ID" name="emailAddress" ng-required="true" autocomplete="Off" ng-model="User.emailId"
                        ng-maxlength="100" emailid-available-validator>
                    <span class="help-block" ng-if="RegisterUser.emailAddress.$error.email">A valid email is required.</span>
                    <span class="help-block" ng-if="RegisterUser.emailAddress.$error.maxlength">Max length is 100.</span>
                    <span class="help-block" ng-if="RegisterUser.emailAddress.$pending"> Checking emailId...</span>
                    <span class="help-block" ng-if="RegisterUser.emailAddress.emailidAvailable">EmailId entered has already been registered</span>
                </div>
            </div>
angularFormsApp.directive('emailidAvailableValidator', ['$http', function ($http) {
    var baseurl = window.location.protocol + "//" + window.location.host + "/";
    return {
        require: 'ngModel',
        link: function ($scope, element, attrs, ngModel) {
            ngModel.$asyncValidators.emailidAvailable = function (value) {
                //var emailid = { 'emailid': emailaddress };
                return $http.get(baseurl + "Users/CheckExternalUserExists/", { emailid: value });
            };
        }
    }
}])
[HttpGet]
        public ActionResult CheckExternalUserExists(string emailid)
        {
            if (AccountExecutor.UserExists(emailid))
            {
                return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Exists");
            }
            return new HttpStatusCodeResult(HttpStatusCode.OK, "Not Exists");
        }
现在我遇到的问题是

一,。电子邮件id作为
null
传递给控制器

二,。我想显示两条消息

a) 若电子邮件id是唯一的,那个么邮件应该说它是唯一的

b) 如果电子邮件id存在,则应显示该邮件存在,
当前消息未显示,仅显示红色边框。

它有什么不同?它有什么不同??
 try below in your code

  ngModel.$asyncValidators.emailidAvailable = function (ngModel.$modelValue)  {
            //var emailid = { 'emailid': emailaddress };
            return $http.get(baseurl + "Users/CheckExternalUserExists/", { emailid: value });
        };

  check out below link for more information...
    [asyncValidators][1]