我正在 Angular 中使用 Ionic 创建一个表单。除非用户提交了表单,否则我不希望显示红色错误类。因此,我的代码如下所示:
<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>
然后在我的 Controller 中
$scope.submit = function ()
{
$scope.formSubmitted = true; //Tell our errors they can show now
}
因此错误类应该仅在 formSubscribed 为 true 时显示。然而,无论出于何种原因,required
都会阻止调用 submit
。对于其他属性(例如 minlength),情况并非如此。
如何获得我想要的行为?
最佳答案
您需要将 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.$subscribed
在您提交时将变为 true。
关于javascript - 当必填字段未填写时,不会调用 Angular 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30988872/