*这不是问题,我分享解决方案*
我需要从我的控制器访问我的FORM来验证一些输入值(例如,ISO代码应该在我的ISO代码列表中...)
问题不在于如何有效或检查表单或输入,而是如何访问表单属性($ valid / $ error等),而不是输入值(使用ng-model)
<form autocomplete="off" name="formLocalisation">
<input type="text" placeholder='countrycode'
class="form-control input-md"
ng-minlength="2" ng-maxlength="3" name="countrycode"
ng-change="validLocalisationField('countrycode')"
ng-model="countrycode" />
<input type="text" placeholder='country name'
class="form-control input-md"
ng-minlength="2" ng-maxlength="3" name="countryname"
ng-change="validLocalisationField('countryname')"
ng-model="countryname" />
</form>
答案 0 :(得分:0)
实际上还有另一种不使用$ parent的方式:
numkMGHzVs%-.
你只需要初始化表单:
<form autocomplete="off" name="formLocalisation">
<input type="text" placeholder='Code ISO'
class="form-control input-md"
ng-minlength="2" ng-maxlength="3" name="countrycode"
ng-blur="validLocalisationField(this)"
ng-model="specimen.countrycode" />
</form>
答案 1 :(得分:0)
搜索和头痛后,我分享了一个我找到的解决方案
您需要在表单名称中添加$ parent! :
$scope.validLocalisationField = function (field) {
if ( .... ) {
$scope.formLocalisation[field].$setValidity(field+"_valid", false);
} else {
$scope.formLocalisation[field].$setValidity(field+"_valid", true);
}
};
在控制器中,您可以使用$ scope.formLocalisation访问表单:
var baseUrl = $('base').attr('href');
location.replace(baseUrl + relativeUrl);
source = http://forum.ionicframework.com/t/cant-access-form-on-scope/679/18