angularjs - 如何在 Angular 中执行 Hapi.js/Strongloop 验证?

标签 angularjs node.js strongloop hapi.js joi

我计划创建一个具有 Hapi.js/strongloop 后端和 angularjs 前端的应用程序。

由于这两个 BE 框架都有某种模型验证(Hapi 的 Joi 和 Strongloop 自己的验证),我认为在前端使用这些验证模式会很棒。

这可能吗?如果是,如何将 joi/strongloop 验证库迁移到客户端?

  • 修复了什么:我们将使用 AngularJS 作为前端。

  • 我们拥有:Joi 中定义的数据验证 shemas。

  • 我想做的:使用 AngularJS 中的相同模式(无需调用服务器上的实际方法)

目前我们需要调用一个REST方法(例如Create方法)来使用joi验证表单数据(或者编写两次相同的验证)。 我们希望更改此设置,以便前端可以在不联系服务器的情况下验证表单数据。

有没有办法在 AngularJS 中使用 joi NodeJS 库? 如果不可能的话还有其他解决办法吗?

最佳答案

我没有使用过 Strongloop,所以我的评论仅限于 Joi。

Joi 不是为客户端使用而构建的。即使您将所有代码都放在那里,它甚至不会运行客户端。查看lib/index.js :

var Hoek = require('hoek');
var Any = require('./any');
...

var internals = {
    alternatives: require('./alternatives'),
    array: require('./array'),
    ...
};

所有这些 require 语句都必须重写,才能在客户端上运行。

Joi 还具有一些您可能想要或可能不想包含的外部依赖项。您可以看一下package.json :

"dependencies": {
 "hoek": "^2.2.x",
 "topo": "1.x.x",
 "isemail": "1.x.x",
 "moment": "2.x.x"
},

所以,不,如果不努力,Joi 将无法在客户端工作。

关于angularjs - 如何在 Angular 中执行 Hapi.js/Strongloop 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28316470/

相关文章:

javascript - 编辑对象时理解 angularjs $apply 和 $scope

node.js - 在环回身份验证失败的 Node js 中扩展用户模型

ios - 使用 Azure 和 Node.js 向 iOS 发送 APNS 推送不起作用

linux - 如何删除 linux mint 13 上的 Node ?

javascript - 如何解析环回 find() 方法响应 ([$promise : d, $resolved : false])?

mysql - 直接从数据源创建 API

javascript - 如何在 Angularjs 中点击 div 标签时使用 ui-sref?

javascript - 使用 ui-select 使用 Protractor 进行测试

javascript - AngularJS : how to use ng-change in factories?

javascript - KeyboardAvoidingView "Padding"无法正常工作