javascript - 当必填字段未填写时,不会调用 Angular 提交

标签 javascript angularjs forms

我正在 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/

相关文章:

javascript - 创建一个采用平面数组并转换为树数据结构的递归函数

javascript - 带键值的数组长度,js

javascript - 使用 for 循环时出现 javascript 错误,即使它正在工作

javascript - 可拖动停止事件上可放置/可排序元素的空 HTML

javascript - 如何在 Angular Directive(指令)属性中使用特殊字符?

javascript - 如何使用 Angular 重定向用户

javascript - 如何使用 jQuery 验证动态添加的字段并阻止表单提交?

javascript - 使用 jQuery 提交表单并获取 JSON 响应

javascript - 如何在 Angular 中使用 splice 从列表中删除项目?

javascript - 像 stackoverflow 中一样使用 .net mvc 3 动态预览表单帖子