首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >香草JS断言库替代Meteor的检查包

香草JS断言库替代Meteor的检查包
EN

Stack Overflow用户
提问于 2014-09-18 16:19:26
回答 2查看 166关注 0票数 0

应用程序框架Meteor有一个名为check的包,可以用于在输入上确定边界和相关内容。这确实是一种很好的方法,对于检查字符串是否符合ISO8601或对象是否包含某些字段非常有用。

不幸的是,这是一个流星特定的软件包,我希望有类似的东西,为独立使用在香草js。有什么可供选择的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-18 18:55:38

有一个很好的通用js模式验证库,名为js-模式。它允许以非常清晰的方式编写模式。当您需要编写大模式并精确地查看来自什么路径错误时,这是很好的。

代码语言:javascript
复制
 var Duck = schema({              // A duck
  swim : Function,               //  - can swim
  quack : Function,              //  - can quack
  age : Number.min(0).max(5),    //  - is 0 to 5 years old
  color : ['yellow', 'brown']    //  - has either yellow or brown color
});

var result = Duck.errors({
  swim: function() {},
  quack: function() {},
  age: 6,
  color: 'green'
});

console.dir(result) 

{
   age: 'number = 6 is bigger than required maximum = 5',
   color: 'string = green is not reference to string = yellow AND
           string = green is not reference to string = brown'
}
// #########################
// source : js-schema README

js-schema也为流星打包。

免责声明:我为这个库编写了Schema.errors()特性并为它创建了包。

票数 1
EN

Stack Overflow用户

发布于 2014-09-19 05:35:16

您知道您只能在您的项目中使用选定的Meteor包,您不需要加载整个平台吗?

对于check,这非常简单,因为它没有太多的依赖项,所以您可以将包代码作为库使用。请参阅它的package.json文件

代码语言:javascript
复制
Package.on_use(function (api) {
  api.use(['underscore', 'ejson'], ['client', 'server']);
  api.export(['check', 'Match']);
  api.add_files('match.js', ['client', 'server']);
});

唯一的依赖项是underscoreejson,并且只有一个文件。因此,只要您有下划线并处理EJSON,就可以将这个文件添加到您的项目中,并在普通的JS中使用check。可以类似地处理ejson包,也可以使用EJSON = JSON;在文件前面进行检查,并将检查限制在普通JSON对象上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25917726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档