哪些验证库可以很好地与Backbone.js配对
What validation library pairs well with Backbone.js?
因为我们使用的是Backbone,所以每次我们弹出UI让用户输入一些数据时,我们并没有真正向服务器提交表单。但是,一些流行的验证框架假设您有一个<form>
来处理您的各种输入(而我们没有),并且您将提交该表单(我没有)。
什么样的验证框架可以很好地与某些东西配对,并允许我在验证时触发,而不关心我的控件是否在表单中?
有趣的问题。我自己没有找到100%的解决方案,所以我不认为这是你问题的直接答案,但我认为这可能有助于如何最好地解决这个问题。
对我来说,最适合的是完全用Json定义的验证规则,同时使用客户端和服务器端声明性验证"构建器"来根据定义构建规则。这将启用DRY(服务器/客户端)验证。
JSON-schema在这方面非常有限。
我相信Kansojs.org有一个非常好的JSON验证定义,但我还没有遇到实现它的构建器。
我在前段时间提出了一个问题,但我担心我的文章式问题没有引起回应:)使用JSON-schema
进行DRY用户输入验证(客户端、服务器端)希望这对一些人有帮助,基尔特•简•
我们最近遇到了这个库:https://github.com/thedersen/backbone.validation
至少在纸面上,它看起来很棒。它不需要表单,反而似乎很乐意在模型级别进行验证。如果模型上的元素和属性之间有一个简单的映射,那么它还可以更新视图中的元素,以反映验证中的错误。
一旦我们有机会彻底地练习它,我会回来用更多的信息更新它。
我正在寻找一个跨平台(nodejs,浏览器)的骨干验证库,它支持异步测试,自定义测试,自定义语言错误消息,测试关系等…
我还没有找到一个独立的库,但我在这里找到了一个解决方案:https://github.com/powmedia/backbone-forms,它生成整个表单,而不仅仅是验证它,并有自定义的错误消息太…
顺便说一句,用验证器生成表单是一个很了不起的想法。我认为脊柱不够灵活,对我来说太大了。我想用Backbone。UI,它有一个自定义数据绑定器。我不知道如何自定义骨干形式使用骨干。UI数据绑定器。我创建了自己的lib: https://github.com/inf3rno/bb-validation,它在1.0版本中只包含验证,现在我重构和重写了部分代码,并在2.0版本中添加了一个表单生成器。该表单生成器使用http://perka.github.io/backbone-ui字段,我的目标是开发类似于骨干表单的东西,但由较小的库组成。我认为这是编写可重用的javascript代码的方法…
为什么要注意使用和覆盖Backbone的原始验证入口点?这里是文档的链接:
http://backbonejs.org/Model-validate
从文档中:
validatemodel.validate(attributes, options)
这个方法是未定义的,我们鼓励你用任何可以在JavaScript中执行的自定义验证逻辑来覆盖它。
默认情况下,save在设置任何属性之前检查validate,但您也可以告诉set通过传递{validate: true}
作为选项来验证新属性。
验证方法接收模型属性以及传递给设置或保存的任何选项。如果属性是有效的,不要从validate返回任何东西;如果它们无效,则返回您选择的错误。
它可以像要显示的字符串错误消息一样简单,也可以是一个以编程方式描述错误的完整错误对象。如果validate返回一个错误,则保存将不会继续,并且模型属性将不会在服务器上被修改。失败的验证触发"invalid"事件,并使用此方法返回的值设置模型上的validationError属性。
——还可以使用和重写这两个函数:
validationErrormodel.validationError
上次验证失败时validate返回的值。
isValidmodel.isValid()
运行validate检查模型状态
- backbone.js无法渲染视图
- 如何使用backbone.js从集合中获取模型名称
- Backbone.js restful json API design
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- Backbone.js micro templating
- FancyTree JS+Backbone.JS-将数据加载到FancyTree时出现问题
- Backbone.js将模型绑定到视图时出错
- minimy javascript是什么意思?Backbone.js
- Backbone.js视图中的多个模型
- 在哪里存储HTML模板以在Backbone.js中使用
- 带有jquery插件的backbone.js视图
- 在Backbone.js中为窗口对象指定变量
- 如何在Backbone.js中编写可重用的模型和视图
- Backbone.js批量更新集合
- 从模型传递id以查看Backbone.js
- Backbone.js中的名称间距
- 一种将Apache Thrift JS绑定与Backbone.JS一起使用的方法
- 在Backbone.js中将回调绑定到此
- Backbone.js ListenToOnce被调用两次
- 使用Backbone.js访问JSON响应的部分