在角度视图中注入猫鼬模型验证

时间:2016-01-27 02:26:46

标签: angularjs validation mongoose mean-stack meanjs

我使用mean stack进行开发。我相信对于当前和默认实现,客户端(角度)需要与服务器(mongoose)交互,服务器返回在角度视图上显示的错误消息。这意味着它仅涵盖服务器端验证的部分。

是否有任何现有的解决方案或任何配置允许将mongoose模型验证注入角度视图页面,以便除了服务器端验证之外它还成为客户端验证?或者怎么可能实现呢?

维护两个单独的代码似乎是重复的,一个是角度的(用于客户端验证),另一个是用于mongoose(用于服务器端验证)。如果可以将猫鼬验证注入到角度视图中,那不是很好吗?我相信这是最受欢迎的功能之一,但我没有设法找到与此相关的任何内容。

这不是火箭科学,因为它已在其他平台上实施。例如,Microsoft jquery无阻碍验证连接服务器端模型验证并将其注入客户端视图。

1 个答案:

答案 0 :(得分:0)

我从未使用它,但也许ng-schema可以帮助你。但是考虑到尽管解决了在角形式中使用猫鼬验证的问题,你将不得不定义一个模式,这可能更难或者不那么干净"维护的解决方案,因为如果有一天您决定在后端更新mongoose模型,您还必须更新在ng-schema中定义的所有模式。因此,为类似目的管理单独代码的问题仍然存在。

我个人更喜欢使用角度形式的自定义验证来处理最大长度,必填字段等。在表单提交到服务器之后,让mongoose处理逻辑并将可能的错误返回给客户端。

如果您正在使用MEAN.JS,则可以编辑错误处理程序配置,并根据modules/core/server/controllers/errors.server.controller.js中的需求进行调整。