类似于Mongoose的客户端模式定义

16

我希望能够像mongoose一样在客户端声明对象模式(可以使用默认值实例化变量,具有验证规则等),但是还没有找到提供这种功能的库。我是否错过了什么?


1
只需使用Mongoose客户端HTTP:http://mongoosejs.com/docs/unstable/docs/browser.html - Antonio Brandao
很遗憾,这个问题已经关闭,@AntonioBrandao的评论也不太显眼。这是唯一一个关于如何在客户端使用Mongoose库的客观正确答案。 - Ian Paschal
4个回答

4
访问https://github.com/spumko/joi,我认为你会发现很多乐趣。

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

我主要在nodejs中使用它,但我认为您也会发现在客户端使用http://browserify.org/非常好用。


3
为了解决这个问题,我创建了一个名为 https://github.com/archangel-irk/storage 的项目。
它提供了类似于 Mongoose 的模式验证、集合和文档的功能,并且可以在浏览器中使用。

1

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

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

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


0

编辑:这个库可能是你正在寻找的:https://github.com/molnarg/js-schema

你所描述的本质上就是在像Java、C++、Objective-C等语言中使用的。不幸的是,JavaScript并没有真正提供这种功能。你能做到的最接近的事情就是实现原型

JavaScript .prototype如何工作?

编辑:经过再次思考,使用原型应该可以实现你所要求的一切。


他不是在寻找类的实现,而是寻找(类似Mongoose的)客户端JS对象建模。 - robertklep
原型模式不是可以用于对象建模吗?如果不行,您能解释一下为什么吗? - winkerVSbecks
他特别提到Mongoose的原因是它提供了使用模式进行对象建模,包括类型、验证、默认值等功能。当然,你可以自己实现所有这些,但这不是被要求的。 - robertklep
这很公平。他正在寻找一个库来完成这个任务。我快速地进行了谷歌搜索,并找到了这个:https://github.com/molnarg/js-schema - winkerVSbecks
也许你可以在你的回答中提到这个 :) - robertklep

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接