我正在使用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,情况并非如此。
如何获得我想要的行为?
答案 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
将成为现实。