2013-03-08 60 views
7

流星还没有内置验证智能包。我应该考虑哪些验证库?其他人使用什么?流星输入验证

+0

我知道你已经知道了,但形式的支持即将到来。最新的信息(你仍然可以从即使你决定使用大卫的下方很好的答案中受益),可以在http://www.youtube.com/watch?feature=player_embedded&v=RSASfz_vU2k – 2013-03-10 18:49:26

回答

9

我们决定使用simpleSchema与Collection2和自动窗体进行验证。这是一个非常复杂的解决方案。我们使用这种方法节省了大量时间,而不是试图手动滚动每个表单。

简单地通过定义的验证规则的方案(针对数据类型自动提供和isRequired设置验证规则),然后创建与自动窗体(的一行代码)的表单,你会得到这一切都是免费的

  • 使用bootstrap3类的自动生成表单。
  • 集合模式中所有键的适当HTML5字段。
  • 一个提交按钮,用于收集输入的值并将其插入到您的收藏中。
  • 基于附加到您的集合的模式进行表单验证。默认情况下,表单在用户提交时进行验证。如果有任何内容无效,则在用户修复问题时,表单将不断在关键字(限制)上重新验证。
  • 字段下显示的默认验证错误消息,可以自定义和翻译。

流星简单模式 流星的简单的,被动的模式验证智能包。 https://github.com/aldeed/meteor-simple-schema

流星collection2 智能软件包流星延伸Me​​teor.Collection到用于指定模式并然后验证针对该架构插入和更新时提供支持。还增加了对虚拟领域的支持。 https://github.com/aldeed/meteor-collection2

流星自动窗体 智能软件包流星,增加了UI组件和助手容易地创建具有自动插入和更新事件,并自动反应验证基本形式。 https://github.com/aldeed/meteor-autoform

+0

通过这种方法你,如果你有不同的用户语言这是一个很大的工作设置的每个错误消息 – 2014-12-31 21:13:10

+0

这是为什么?我们的应用程序完全是多语言的。我们使用Meteor的messageFormat包。让我知道你需要做很多工作,我会尽力帮忙。 https://github.com/gadicc/meteor-messageformat/ – 2015-01-01 12:36:21

+0

如何显示正确的朗不同的错误信息? – 2015-01-01 14:46:17

8

如果要使用meteorite,则只需搜索atmosphere packages即可查看受欢迎的内容。我目前使用jqBootstrapValidation。在过去,我使用了validate.js,但现在我更喜欢自举集成。我听到parsley.js是很酷的孩子们的欢迎,虽然在写这篇文章的时候并没有一个聪明的软件包 - 但这很容易到solve

+0

找到,所以你不能安装这些套装包含开箱即用的流星?这陨石的东西是必需的?这是为什么?因为这是一个非标准的软件包格式或什么?干杯! – 2013-03-08 18:12:16

+2

流星只附带一些软件包。你需要陨石来安装社区创建的软件包。如果您在我的答案中看到最后一个链接,那么只需将简单的前端库包含到您的项目中就够了。所以,不需要安装陨石,但是很多人都会运行它,因为它使安装软件包变得更容易,但这取决于你。 – 2013-03-08 20:25:22

+0

谢谢你的帮助! – 2013-03-13 11:35:57

5

您已经有Tracker作为Meteor的一部分,所以我将一个小教程和JSfiddle放在一起,介绍如何使用它来实现典型的表单验证场景。

http://bit.ly/meteor-form-validation-video

http://bit.ly/meteor-form-validation-fiddle

+0

院长嗨,你有没有尝试过使用simpleSchema?对于一个简单的应用程序只有一对夫妇的形式可能是矫枉过正,但对于大型应用程序有许多形式,我们发现它比你必须自己实现所有细节的规范性办法更富有成效。看看这个演示,看看你用很少的努力就能获得多少功能! https://github.com/aldeed/meteor-autoform#demo – 2014-11-21 05:50:39

+2

有时表单不适用于您拥有的数据库(或者是API调用),所以我打算展示如何推出自己的数据库。谢谢你的提示。 – 2014-11-21 20:40:32

+3

实际上那不管,你仍然可以使用的模式来为你自己或者不是数据库提供验证它是否。它实际上并不像ORM或其他东西那样将数据写入mongo。你可以控制这个。例如,即使在验证Stripe API的支付信息时,我们也使用simpleSchema和autoform。 – 2014-11-25 06:39:55