AngularJS:列出所有表单错误

2024-04-19

背景: 我目前正在开发一个带有选项卡的应用程序;我想列出验证失败的字段/部分,以引导用户在右侧选项卡中查找错误。

所以我尝试利用form.$error这样做;但我还没有完全让它发挥作用。

如果验证错误发生在ng-repeat, e.g.:

<div ng-repeat="url in urls" ng-form="form">
  <input name="inumber" required ng-model="url" />
  <br />
</div>

空值会导致form.$error包含以下内容:



{ "required": [
  {
    "inumber": {}
  },
  {
    "inumber": {}
  }
] }  

另一方面,如果验证错误发生在此之外ng-repeat:

<input ng-model="name" name="iname" required="true" />

The form.$error对象包含以下内容:


{ "required": [ {} ] }  

然而,我期望以下内容:


{ "required": [ {'iname': {} } ] }  

关于为什么缺少元素名称有什么想法吗?

可以在这里找到正在运行的 plunkr:http://plnkr.co/x6wQMp http://plnkr.co/x6wQMp


As @c0bra https://stackoverflow.com/users/888165/c0bra在评论中指出form.$error对象已填充,它只是不喜欢被转储为 JSON。

循环遍历form.$errors然而,它的嵌套对象将获得所需的结果。

<ul>
  <li ng-repeat="(key, errors) in form.$error track by $index"> <strong>{{ key }}</strong> errors
    <ul>
      <li ng-repeat="e in errors">{{ e.$name }} has an error: <strong>{{ key }}</strong>.</li>
    </ul>
  </li>
</ul>

所有的功劳都归于c0bra https://stackoverflow.com/users/888165/c0bra关于这一点。

另一种选择是使用以下解决方案之一这个问题 https://stackoverflow.com/questions/12044277/how-to-validate-inputs-dynamically-created-using-ng-repeat-ng-show-angular/24470458#24470458为动态创建的输入分配唯一的名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS:列出所有表单错误 的相关文章

随机推荐

  • 根据当前页面动态改变链接的CSS

    我的网页顶部有以下链接 ul class icyLink li a class nav1 href index html The World of Icengale a li li a class nav1 href history htm
  • 为什么我收到致命错误:未捕获的异常“GuzzleHttp\Exception\RequestException”,消息“cURL 错误 60”

    我正在用 laravel 做项目 我正在使用 plivo api 发送短信 为此 我遵循了以下提到的所有步骤 https www plivo com docs getting started send a single sms https
  • 使用 Button 和 Title Swift 以编程方式创建导航栏

    我尝试创建一个导航栏 到目前为止导航栏没有问题 但是当我尝试添加按钮和标题时 它们不会显示 我的导航栏看起来像 let NameHeight screenHeight 0 09 let NameWidth screenWidth let n
  • JSF 2 中的部分状态保存功能

    有人可以解释一下 JSF 中的部分状态保存功能吗 我曾使用过 JSF 1 2 但那里不存在此功能 我认为这是 JSF 2 0 的新内容 与常规国家储蓄相比 部分国家储蓄给我们带来什么好处 它通过保存对 bean 的修改来减少内存使用 默认为
  • 从 Visual C++ 调用 C# 代码

    基本上我需要从 Visual C 代码调用 C 代码 在阅读了大量有关可能方法的文章后 我决定使用 C CLI 机制 最初我决定在 C 本机代码 dll 库项目 中使用一些函数 它们将调用 CLR 项目中的一些函数 CLR 项目将调用 C
  • 为什么我们不能在 while 循环中定义变量?

    我们可以做的 using Stream s and for int i 为什么我们不能也做这样的事情 while int i NextNum gt 0 我发现它非常有用且明智 我不是语言设计师 但我会给出一个有根据的猜测 里面的子句whil
  • jQuery DatePicker 未加载

    我有一段 jQuery 由于某种原因根本无法加载 我想知道这是否是我的语法错误 或者我是否遗漏了一些对其工作至关重要的东西 这被放置在包含的页面上 div class demo p Date p div
  • Unity3D 与 UIView 集成

    如果这个问题重复 请纠正我 我刚刚接触到Unity3D 我只是想问是否可以将Unity3D集成到其他UIView之上 我认为这是不可能的 因为生成的 AppController mm 充当UIApplicationDelegate 即使你设
  • 如何将字符串转换为整数或浮点数

    我有一个文本字段 用户可以在其中输入数字 并且我希望能够根据用户输入将字符串转换为整数或浮点数 在 Ruby 中是否有一种简单的方法可以做到这一点 例如 User Input 123 gt Output 123 User Input 123
  • 在 MAMP 中使用 Laravel 设置 PostgreSQL

    我在我的 MAC 上使用 MAMP 因为它默认带有 MySQL 但现在我需要在我的一个项目中使用 PostgreSQL 如何在 Laravel 项目的 MAMP 中设置 postgreSQL 好吧 如果你决定使用 MAMP 附带的 post
  • Web应用的细粒度授权

    我有一个 C net 应用程序 为公司的内部用户和外部客户提供服务 我需要进行细粒度的授权 比如谁访问什么资源 因此 我需要基于资源或基于属性的授权 而不是基于角色的授权 我想到的是 为我的 net 应用程序实现我自己的授权机制和 SQL
  • 具有多列的 ORMLITE ORDER_BY

    我在用ormlite在我最近的android项目中 我想对表中多列 比如两列 的查询进行排序 我怎样才能做到这一点 这是单个订单的代码 QueryBuilder
  • 如何阻止 UIScrollView 水平弹跳?

    我有一个 UIScrollView 显示垂直数据 但水平部分不比 iPhone 的屏幕宽 问题是用户仍然可以水平拖动 并且基本上暴露了 UI 的空白部分 我尝试过设置 scrollView alwaysBounceHorizontal NO
  • 如何在设计时避免 XAML 代码中出现“对象引用未设置到对象实例”异常?

    我对我自己设计的 wpf 用户控件有问题 问题是我得到了object reference not set to an instance of an object当我在程序中实现用户控件时 设计时 XAML 代码中出现异常 设计师向我展示了以
  • Teradata:数据透视中的 IN 子句无法从表中获取数据

    我想提取一些Calender Weeks从年度数据来看 完成后 我想旋转它 以便每个都有一行ID 我们有一张桌子DB MY CWs只有一列CW含有Calender Weeks我们感兴趣 以下代码提取相关内容Calender Weeks CR
  • 文件系统树“任意深度的子文件夹”的 Get-ChildItem 通配符

    我想获取特定子文件夹内特定扩展名的所有文件 但可以位于文件系统内的任何级别 例如 Get ChildItem Source Release nupkg recurse 简单的星号可以工作 但会在 源 下的直接级别上进行搜索 但不会在树中进行
  • 使用 linq 加载除另一个集合之外的集合

    我有这样的搜索方法 public List
  • 为什么 GridBagLayout 将我的组件居中而不是放在角落?

    到目前为止 我设法避免使用GridBagLayout 手工代码 尽可能多 但这次我无法避免它 我正在阅读SUN的教程网格包布局 http download oracle com javase tutorial uiswing layout
  • Webpack stats.json 文件为空

    当我运行以下命令时 我得到一个空的 stats json 文件 webpack env production profile json output filename stats json 我发现 由于我在开发和生产环境中使用不同的 Web
  • AngularJS:列出所有表单错误

    背景 我目前正在开发一个带有选项卡的应用程序 我想列出验证失败的字段 部分 以引导用户在右侧选项卡中查找错误 所以我尝试利用form error这样做 但我还没有完全让它发挥作用 如果验证错误发生在ng repeat e g div div