首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在对动态表单使用ng-重复时,在提交时验证所有表单字段的正确方法是什么?

在对动态表单使用ng-重复时,在提交时验证所有表单字段的正确方法是什么?
EN

Stack Overflow用户
提问于 2014-12-29 13:10:59
回答 1查看 474关注 0票数 1

我有一个带有一些字段的表单(使用ng-重复构建,所以我不知道有多少)。我在提交按钮中添加了

代码语言:javascript
运行
AI代码解释
复制
ng-disabled=form.field.$invalid

并添加到所有字段“必需”,但ng禁用的工作仅针对最后一个字段。我的代码:

代码语言:javascript
运行
AI代码解释
复制
 <form name="form" novalidate>

            <div ng-repeat="q in questions">
                 <textarea name="answer" type="text"  ng-model="answers[$index]" required></textarea>


            </div>
            <button ng-disabled="form.answer.$invalid || form.answer.$pristine" type="submit" ng-click="submit(q)">'Submit'</button>
        </form>

如何验证用户更改所有字段?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-29 13:35:25

这是因为您的所有输入都有相同的名称,因此表单控制器实例的行为将只有一个名为answers的属性,它将指向表单中具有该名称的最后一个ng模型。相反,使用ng-attr-name为输入提供不同的名称,并可能附加$index并使用表单的$invalid属性,只要表单中的ng模型(带有约束)之一无效,表单就无效。因此,只需禁用按钮,直到窗体无效,因为它是窗体控制器上的catch属性。

代码语言:javascript
运行
AI代码解释
复制
<div ng-repeat="q in questions">
  <!-- Provide dynamic form names -->
  <textarea ng-attr-name="answer{{$index}}" type="text" 
            ng-model="answers[$index]" required></textarea>
 </div>
 <!-- Use form.$invalid -->
 <button ng-disabled="form.$invalid || form.$pristine"  
         type="submit" ng-click="submit(q)">Submit</button>

代码语言:javascript
运行
AI代码解释
复制
angular.module('app', []).controller('ctrl', function($scope) {
  $scope.questions = ["q1", "q2"]
  $scope.answers = {};
});
代码语言:javascript
运行
AI代码解释
复制
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">

  <form name="form" novalidate>

    <div ng-repeat="q in questions">
      <textarea ng-attr-name="answer{{$index}}" type="text" ng-model="answers[$index]" required></textarea>


    </div>
    <button ng-disabled="form.$invalid || form.$pristine" type="submit" ng-click="submit(q)">Submit</button>
  </form>
</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27696064

复制
相关文章
提交表单时input字段非空验证
需求,当提交表单的时候,如果要验证的字段为空,则弹出提示框提示请完善表单信息,并且 return;不执行下一步。
王小婷
2019/08/07
3K0
表单提交原理_防止表单重复提交
<form>标签的属性enctype设置以何种编码方式提交表单数据。可选的值有三个:
全栈程序员站长
2022/11/08
5.5K0
防止表单重复提交
写的真的很好 https://blog.csdn.net/chenzao666/article/details/81222855
周杰伦本人
2022/10/25
1.5K0
防止Web表单重复提交的方法总结
在Web开发中,对于处理表单重复提交是经常要面对的事情。那么,存在哪些场景会导致表单重复提交呢?表单重复提交会带来什么问题?有哪些方法可以避免表单重复提交?
编程随笔
2019/09/11
4.8K0
防止Web表单重复提交的方法总结
防止表单重复提交的思路和方法
作为一个软件开发者,绝不能奢望你的用户会规规矩矩地使用你的软件,他们一般都是缺乏耐心,“胡作非为”的。比如当他点击提交表单时,服务器处理比较慢, 页面上没有任何反应,他会迫不及待地再点击几次,这样就会产生重复数据或者报错,或者他会刷新一下再次提交。所以,你必须保证你的软件足够地健壮,尽可能地考虑各种用例,增加限制,抵御使用者的摧残。 对于如何处理重复提交,一般教科书上都有点明,不外乎是在js代码中增加限制或者通过session来处理。关于js代码限制,就是当用户第一次提交后,将提交按钮设置为“disable
java达人
2018/01/31
1.9K0
关于表单重复提交问题
问题引入:当我们在做一个页面数据提交的时候,当我们连续点击提交按钮,因为快速连续点击,因为速度过快,页面还来不及反应,导致页面从复提交。。
小小许
2018/09/20
1.8K0
java表单提交方法_表单提交的几种方式[通俗易懂]
说明:用户提交按钮或图像按钮时,就会提交表单。使用或都可以定义提交按钮,只要将其特性的值设置为“submit”即可,而图像按钮则是通过的type特性值设置为”image”来定义的。因此,只要我们单击一下代码生成的按钮,就可以提交表单。
全栈程序员站长
2022/09/30
5.1K0
如何防止表单重复提交
在看Java Web 深入分析时, 看到表单重复提交问题一节, 如下描述如何解决问题:
望天
2018/08/02
3.1K0
如何防止表单重复提交
防止用户将表单重复提交的方法 原
表单重复提交是在多用户Web应用中最常见、带来很多麻烦的一个问题。有很多的应用场景都会遇到重复提交问题,比如:
wuweixiang
2018/08/14
2K0
PhpStorm表单提交时获取不到post数据的解决方法
初学php,用echo $_POST["variable"]和var_dump($_POST) 都获取不到post数据。
德顺
2019/11/13
2.1K0
PhpStorm表单提交时获取不到post数据的解决方法
js表单提交前验证
<script type="text/javascript"> function check(form) {
用户5760343
2019/08/20
12K0
vue element-ui 表单验证 第一次表单验证的结果,在第二次表单验证时仍然存在
首先我们还是看一下文章:https://blog.csdn.net/weixin_37930716/article/details/90234705  的内容
acoolgiser
2020/05/16
2.3K0
flask表单处理_html表单的提交方法
首先,Flask模板中表单提交代码与我们一般写的H5表单无异,当然,Flask也提供了表单类,Flask-WTF扩展。这里只介绍常规的表单提交方法。
全栈程序员站长
2022/09/27
2.3K0
flask表单处理_html表单的提交方法
Vue + Element ui 实现动态表单,包括新增行/删除行/动态表单验证/提交功能
最近通过Vue + Element ui实现了动态表单功能,该功能还包括了动态表单新增行、删除行、动态表单验证、动态表单提交功能,趁热打铁,将开发心得记录下来,方便以后再遇到类似功能时,直接拿来应用。
朱季谦
2023/07/10
5K0
form实现表单提交的各种方法(表单提交源码)
这种方法实际上是调用了一个javascript函数,使用javacript函数来提交表单,方法就非常多非常灵活了,比如可以把它加入到任意一个标签的onclick事件中:
全栈程序员站长
2022/08/01
5.7K0
实战之防止表单重复提交
对于防止重复提交,最简单也最不安全的做法相信大家也都经历过,前端在一个请求发送后立即禁用掉按钮,这里咱们来讨论一下后端对防止重复提交的处理方式。 主要针对非分布式环境下防止重复提交与分布式环境下的防止重复提交。一般分布式环境下也可以通过网关路由的方式将同一个用户的请求路由到一个实例上处理。
山行AI
2019/06/28
2.9K0
Vue + Element ui 实现动态表单,包括新增行/删除行/动态表单验证/提交功能
最近通过Vue + Element ui实现了动态表单功能,该功能还包括了动态表单新增行、删除行、动态表单验证、动态表单提交功能,趁热打铁,将开发心得记录下来,方便以后再遇到类似功能时,直接拿来应用。
朱季谦
2023/07/21
6.1K0
Vue + Element ui 实现动态表单,包括新增行/删除行/动态表单验证/提交功能
vue动态生成表单_vue element 表单验证
前几天接了一个需求,需要动态生成一个表单数据,然后提交,提交完数据后。通过编辑按钮进入时,需要进行数据回填。
全栈程序员站长
2022/11/17
2.5K0
vue动态生成表单_vue element 表单验证
SpringMVC token 防止表单重复提交
一、定义注解 Token.java @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface Token { boolean save() default false; boolean remove() default false; } 二、定义token 过滤器 TokenInterceptor.java package com.bra.common.web; import com.
week
2018/08/27
1.4K0
Spring MVC表单防重复提交
利用Spring MVC的过滤器及token传递验证来实现表单防重复提交。 创建注解 @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Token { boolean create() default false; boolean remove() default false; } 在跳转页面的方法上加上:@Token(create = true
Java技术栈
2018/03/30
1.7K0
Spring MVC表单防重复提交

相似问题

在表单提交时触发字段验证

15

正确提交表单时出现表单验证错误

122

提交表单Jquery时验证字段

23

提交时验证所有表单域

30

表单提交时不提交动态注入的表单字段。

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文