当未填写必填字段时,不会调用Angular

时间:2015-06-22 20:06:31

标签: javascript angularjs forms

我正在使用Ionic在Angular中创建表单。除非用户提交了表单,否则我不希望显示红色错误类。因此,我的代码如下所示:

<form ng-submit="submit()" name="form">
     <ion-radio ng-repeat="item in items" ng-model="data.type" name="type" ng-value="item.value" ng-class="{'error' : form.type.$invalid && formSubmitted }"
</form>

然后在我的控制器中

$scope.submit = function ()
{
   $scope.formSubmitted = true; //Tell our errors they can show now
}

因此,只有当formSubmitted为true时才会显示错误类。但是,无论出于何种原因,required都会阻止调用submit。对于其他属性,例如minlength,情况并非如此。

如何获得我想要的行为?

1 个答案:

答案 0 :(得分:1)

您需要在表单中添加novalidate

原因是,您的浏览器正在验证您的表单,而不是让您的代码执行此操作。

或者,做类似的事情:

<form ng-submit="submit()" name="form" novalidate>
     <ion-radio ng-repeat="item in items" ng-model="data.type" name="type" ng-value="item.value" ng-class="{'error' : form.type.$invalid && form.$submitted }"
</form>
提交时

form.$submitted将成为现实。