0
나는 Anogular Material mdDialog를 사용하여 대화 상자 안에 작은 폼을 표시합니다. 사용자 지정 가능 지시문을 사용하여 비동기 유효성 검사를 수행합니다.비동기 유효성 검사기가 약속을 반환하지만 대신 '정의되지 않음'이 있음 - mddialog 각도 자료 내부
dialog.tmpl.html :
<md-dialog aria-label="Save Scenario">
<form name="userForm" novalidate >
<input style="display:inline-block" name="Name" ng-model="SaveScenario.ScenarioName" ng-pattern="pattern"
required username-available ng-model-options="{ updateOn: 'blur' }">
</form>
</md-dialog>
app.js :
: 여기module.directive('usernameAvailable', function($timeout, $q,UserService) {
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, elm, attr, ngModel) {
ngModel.$asyncValidators.usernameExists = function(modelValue, viewValue) {
var currentValue = modelValue || viewValue;
UserService.checkifScenarioNameExists(currentValue)
.then(
function (d)
{
console.log("the data object from promise is", d.data);
if (d.data == true)
{
console.log("username exists");
// deferred.resolve(d.data);
return $q.resolve(d.data);
}
else
{
console.log("username does not exist");
ngModel.$setValidity('usernameExists', false);
return $q.reject(d.data);
}
},
function (errResponse) {
console.error('The Promise was unsuccessfull');
}
);
};
}
}
});
내 대화 상자의 모양과 에러가 표시되는 방법이다
지시문 내에서 약속을 반환하는 구문이 정확하다고 생각합니다. 나는 그것이 md-dialog로 뭔가있을 수 있는지 확신하지 못합니다. 누군가이 오류가 발생하는 이유를 도와주십시오.