应用程序框架Meteor有一个名为check的包,可以用于在输入上确定边界和相关内容。这确实是一种很好的方法,对于检查字符串是否符合ISO8601或对象是否包含某些字段非常有用。
不幸的是,这是一个流星特定的软件包,我希望有类似的东西,为独立使用在香草js。有什么可供选择的吗?
发布于 2014-09-18 18:55:38
有一个很好的通用js模式验证库,名为js-模式。它允许以非常清晰的方式编写模式。当您需要编写大模式并精确地查看来自什么路径错误时,这是很好的。
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免责声明:我为这个库编写了Schema.errors()特性并为它创建了包。
发布于 2014-09-19 05:35:16
您知道您只能在您的项目中使用选定的Meteor包,您不需要加载整个平台吗?
对于check,这非常简单,因为它没有太多的依赖项,所以您可以将包代码作为库使用。请参阅它的package.json文件
Package.on_use(function (api) {
api.use(['underscore', 'ejson'], ['client', 'server']);
api.export(['check', 'Match']);
api.add_files('match.js', ['client', 'server']);
});唯一的依赖项是underscore和ejson,并且只有一个文件。因此,只要您有下划线并处理EJSON,就可以将这个文件添加到您的项目中,并在普通的JS中使用check。可以类似地处理ejson包,也可以使用EJSON = JSON;在文件前面进行检查,并将检查限制在普通JSON对象上。
https://stackoverflow.com/questions/25917726
复制相似问题