我是新來angularjs,目前我有電子郵件的輸入形式。
<div ng-app="emailApp" ng-controller="emailController">
<form name="emailSubmitForm">
<div>
<input name="emailInput" type="email" ng-model="email" ng-watchchange="checkduplicate(email)" ng-pattern="emailFormat" required />
</div>
<div ng-show="isRepeated">Repeated</div>
<div ng-show="!isRepeated">Not Repeated</div>
<button ng-disabled="emailSubmitForm.$invalid" ng-click="createRecord()" >Submit</button>
</form>
</div>
原來我用NG-變化,但如果它是無效的它不火,所以我想改變NG-改變功能成指令,但我不知道該怎麼做。
我想下面
$scope.checkduplicate = function (email) {
var model= {
email: email
};
$http({
method: 'POST',
url: '/Controller/IsEmailDuplicated',
data: model
}).success(function (data, status, headers, config) {
$scope.isRepeated = !data;
});
};
功能更改爲類似
app.directive('ngWatchchange',function(email){
// $http.post request
});
任何人都可以給我一些建議嗎?非常感謝!
你可以利用指令控制器功能,使$ HTTP請求 –
可能是我不力正確地得到您的業務規則,但你真的需要擔心的重複檢查,如果鍵入電子郵件地址是無效的? – Developer
@Developer感謝您的評論!其實我想修復時從有效到無效的電子郵件的變化,也不會觸發NG變函數因此該消息不會改變。如果電子郵件格式無效以解決問題,我最終會隱藏郵件。 –