【问题标题】:How to add checkmarks and x's when validating in angularjs?在angularjs中验证时如何添加复选标记和x?
【发布时间】:2014-09-12 15:25:01
【问题描述】:

我在 angularjs 文档和网上都找不到关于表单验证这一特定方面的任何内容。您知道当有人在输入字段中输入内容(例如:姓名、电话号码、电子邮件等)时,会出现一个绿色复选标记吗?或者一个 X 似乎暗示它是错误的、不完整的等等。

所以,我的文件夹中有这些图像,可以在任何一种情况下使用。问题是,我找不到正确实现我想要实现的文档的文档。我认为 angularjs 将是使用的解决方案,因为我的其余代码是 angular。

由于这是 angularjs,唯一提供可行选项(由于某些原因不起作用)的帖子和文档是以下选项:

How to put an image in div with CSS?

https://docs.angularjs.org/tutorial/step_09

我正在考虑使用 CSS 来欺骗浏览器,使其在验证时显示一个或另一个图像。我认为这可能会迫使我的 other div 中的图像出现,但无济于事。

例如,在这个 CSS 中,我试过这样:

.ng-valid.ng-dirty .div.test{
    border-color: green;
    content:url(http://example.com/image);
    }

在我的 HTML 中使用它:

<div class="test">
               <label style="float:left">by:</label>
               <input class="form-control controltwo" required ng-model="reviewCtrl.review.author" name="email" id="email" type="email" style="width:350px;" placeholder="Email Address"/>

</div>

正如我之前所说,我正在尝试使用 angularjs 来实现一些目标。由于 CSS 可用于样式,它不能被欺骗为样式选项和复杂的验证器。我已经尝试了一些在链接上显示的技巧,但它们不起作用。至于第二个链接,它不是为此目的而制作的,并且考虑到它们仅用于过滤器和图像,过滤器的文档没有帮助。

【问题讨论】:

  • 我们可以再看一些代码吗?你在使用表格吗?如果是,您可以利用表单或表单控件的 $invalid 属性
  • 对此有许多可能的答案 - 取决于您想要获得的花哨程度。
  • @link64,这是一个笨蛋。这应该包含所有适当的信息。是的,我使用了一个表格。 embed.plnkr.co/gftAajibCbNphhgRy0nx/preview
  • @pixelbits 不是很花哨,哈哈,只要电子邮件看起来对或错时,我就可以使用我拥有的小图片,因为这个人正在打字等等......这就是我想要的。

标签: css angularjs


【解决方案1】:

实现您想要的一个简单方法是查看表单控件的 $valid 或 $invalid 属性。

例如,要在电子邮件无效时显示一条小消息,您可以将此元素放入您的标记中。

<div ng-show='reviewForm.email.$dirty && reviewForm.email.$invalid'>Invalid Email</div>

reviewForm 是表单的名称,email 是输入控件的名称。

这是一个证明这一点的 plunkr:http://plnkr.co/edit/tUuToy99xjfMhbyMd3eV

你可以用任何你想要的替换元素

【讨论】:

  • 是的,就是这样。不花哨,但正如我所寻找的那样简单。将来可能会寻找花哨的东西哈哈,或者改用 gif。向你致敬。我会回答你的问题,但我只有 14 个代表。
  • 没问题,很高兴为您提供帮助
【解决方案2】:

您可以使用 ng-showng-srcng-model 执行此操作,具体取决于您要验证的内容。

https://docs.angularjs.org/api/ng/directive/ngModel

https://docs.angularjs.org/api/ng/directive/ngShow

https://docs.angularjs.org/api/ng/directive/ngSrc

ng-model:text 下的示例几乎显示了您想要的内容。如果您不使用表单,您应该可以使用ng-change 触发检查并将图像更改为适当的图像。

https://docs.angularjs.org/api/ng/input/input%5Btext%5D

如果ng-show 监视相关字段的 $valid 属性,您可以在验证为假时隐藏复选标记,并在验证为真时显示它。如果你想要一个 X,你可以翻转逻辑。

【讨论】:

  • 现在,我测试了 Link 的(人大声笑,不是链接)。我将检查所有链接并验证是否有更可行的解决方案。谢谢你的链接。我很难通过谷歌甚至通过 stackoverflow 提出问题。所以有一些参考来验证会有所帮助。
  • 我现在可以给你一个 +1 :)
猜你喜欢
  • 2019-04-10
  • 2015-05-23
  • 1970-01-01
  • 2022-01-08
  • 1970-01-01
  • 1970-01-01
  • 2011-01-11
  • 2018-06-17
  • 1970-01-01
相关资源
最近更新 更多