【问题标题】:Client-side Mongoose-like schema definition [closed]客户端类似猫鼬的模式定义[关闭]
【发布时间】:2013-10-08 17:52:54
【问题描述】:

我想声明对象模式(可以用默认值实例化变量,具有验证规则等),就像可以在 mongoose 中一样,但在客户端。

还没有找到任何提供它的图书馆。有什么我错过的吗?

【问题讨论】:

标签: javascript angularjs mongoose


【解决方案1】:

为了解决这个问题,我创建了https://github.com/archangel-irk/storage

浏览器上类似于猫鼬的架构验证、集合和文档。

【讨论】:

    【解决方案2】:

    表单角度:http://www.forms-angular.org/

    您可以在客户端级别描述架构(架构的一部分或嵌套架构/子文档数组...),并且会自动生成带有验证器的表单。

    此外,您可以在后端级别定义 mongoose 模式,最终您将获得一个出色的前端/后端系统,用于在 mongo db 中创建/加载/编辑/删除项目。

    【讨论】:

      【解决方案3】:

      访问https://github.com/spumko/joi,我想你会发现很多快乐[i]。

      joi 验证系统用于基于丰富的描述性模式验证 JavaScript 对象。模式验证是确保对象符合预定义期望的过程。

      我主要将它与 nodejs 一起使用,但我认为您会发现它也可以在客户端与 http://browserify.org/ 一起使用。

      【讨论】:

        【解决方案4】:

        编辑:这个库可能就是你要找的东西:https://github.com/molnarg/js-schema

        您所描述的本质上是 classes 在 java、c++、objective-c 等语言中所做的。不幸的是,javascript 并没有真正提供此功能。您可以做的最接近的事情是实现Prototypes

        How does JavaScript .prototype work?

        编辑:再想一想,Prototypes 你应该能够实现你所要求的一切

        【讨论】:

        • 他不是在寻找类的实现,而是在寻找客户端 JS 的(Mongoose-like)对象建模。
        • 原型不允许您进行对象建模吗?如果不是,你能解释一下为什么会这样吗?
        • 他特别提到Mongoose 的原因是它提供了使用模式的对象建模,包括键入、验证、默认值等。显然,您可以自己实现所有这些,但这不是所要求的。
        • 这很公平。他正在寻找一个图书馆来做这件事。做了一个快速的谷歌搜索,发现这个:github.com/molnarg/js-schema
        • 也许你可以在你的回答中提到这一点:)
        猜你喜欢
        • 2013-09-22
        • 2018-01-21
        • 2014-02-11
        • 2021-08-19
        • 2014-08-04
        • 2017-11-20
        • 2015-11-08
        • 1970-01-01
        • 2018-12-10
        相关资源
        最近更新 更多