我想用ng-disable验证我的表单。
所以我的功能将检查用户输入的ID是否正确 如果所有输入都已填满,我还必须检查我的表格。
这是我的功能:
vm.validateid = function(){
console.log('here');
var objvar = {
'id': vm.data.referalid,
'referral2': true,
};
$http.post(ConfigCnst.restUrl,objvar).then(function(res) {
if (res.data.status !== true) {
alert('Invalid ID');
vm.data.referalName = 'Invalid ID';
vlid = res.data.status;
console.log(vlid);
} else {
alert('ID Validated');
vm.data.referalName = JSON.stringify(res.data.data.name);
vlid = res.data.status;
console.log(vlid);
}
});
}
我想采取vlid
。它将包含true或false。
这是我的ng-disable:
<button ng-disabled="registerForm.$invalid"
ng-click="register.submit()"
class="button button-block button-positive">Confirm</button>
我想同时检查registerForm
和vlid
都是假的
有没有办法从我的控制器中引用我的vlid
?
答案 0 :(得分:2)
将变量vlid
设置为控制器中的$scope
变量($scope.vlid=vlid
)。然后你可以在你的html视图中访问它。您需要更新ng-disabled
表达式以包含vlid
的条件。
<button ng-disabled="registerForm.$invalid && !vlid" ng-click="register.submit()" class="button button-block button-positive">Confirm </button>
答案 1 :(得分:2)
无法查看控制器的定义位置/方式会使这更加困难,但是,您可以从控制器访问范围变量。
因此,可能有两种方法可以定义控制器:
使用ControllerAs:
您的html中会有myController as someName
然后,您可以将someName.vlid
传递给您的函数,然后将其绑定到res.data.status
绑定到$ scope:
在您的控制器中,您将有一个参数$scope
然后,您可以在控制器中使用$scope.vlid
或在html中使用ng-model='vlid'
,将其传递给您的函数,并以相同的方式对待它。
如果您已在控制器中定义了该功能,则可以使用ng-model='vlid'
或ng-model='someName.vlid'
,具体取决于控制器的定义方式。
答案 2 :(得分:0)
你可以使用$ scope来引用vlid。
vm.validateid = function() {
console.log('here');
var objvar = {
'id': vm.data.referalid,
'referral2': true,
};
$http.post(ConfigCnst.restUrl, objvar).then(function(res) {
if (res.data.status !== true) {
alert('Invalid ID');
vm.data.referalName = 'Invalid ID';
vlid = res.data.status;
$scope.vlid_status = res.data.staus;
console.log(vlid);
} else {
alert('ID Validated');
vm.data.referalName = JSON.stringify(res.data.data.name);
vlid = res.data.status;
$scope.vlid_status = res.data.staus;
console.log(vlid);
}
});
}
HTML
<button ng-disabled="registerForm.$invalid && vlid_status === false" ng-click="register.submit()" class="button button-block button-positive">Confirm </button>