Tag: validation

基于JavaScript的JSONvalidation程序(不是架构,JSON语法)在Node.js与连接

我一直在使用JSONLint在线,这真的很有帮助。 我需要得到这个Node.js虽然。 我们的质量保证,甚至我把非常无效的JSON放在一起,这甚至不好笑。 服务器正在使用connect bodyDecoder来连接当前无效input上的barfs(不知道为什么stockDecoder甚至没有发现错误,但是哦)。 我可能会想做我自己的bodyDecoder,但我只能find一个基于C的JSONLinter。 有没有我可以在Node.js中使用的任何库引发有用的错误(如http://www.jsonlint.com/ ),而不是疯狂的“string不是预期的”模糊错误?

护照Facebookvalidationcallback没有被调用

我正在做一个节点的应用程序,当我尝试使用与Facebook的护照,validationcallback不运行(没有logging)。 任何帮助,将不胜感激。 var express = require('express'); var routes = require('./routes/routes.js'); var layout = require('./routes/layout.js'); var facebook = require('./routes/facebook.js'); var editprof = require('./routes/editprof.js'); var app = express(); var vogels = require('vogels'); var passport = require('passport'); var FacebookStrategy = require('passport-facebook').Strategy; var configAuth = require('./config/auth'); app.use(passport.initialize()); app.use(passport.session()); … passport.use(new FacebookStrategy({ // pull in our app id and secret […]

用express-validatorvalidation密码

我使用express-validator进行express 3.x – 当用户更改密码或注册新帐户时,他们必须input两次密码。 如果两个密码(两个string)不匹配,我将如何编写一个自定义validation器来将错误推送到express-validator中的错误堆栈? 像这样的东西: req.assert('password1', 'Passwords do not match').isIdentical(password1, password2); var mappedErrors = req.validationErrors(true);

Node.js(Express)表格在提交时清除

我正在使用Node.js(使用Express)开发一个非常基本的registry单,我正在试图find提供基本表单validation的最简单的方法。 我已经去了“快速确认器”,这似乎做得很好。 但是,我的目标是简单地显示所需的任何validation消息,并保留用户input的值。 看来请求信息没有回到res.render,我想这是有道理的。 然而,我已经到处看到了我能想到的,我找不到任何参考,讨论如何在显示错误消息后填充表单字段。 以下是描述我的方法的小片段: post: function(req, res){ var userName = req.body.username; var password = req.body.password; //Validate input req.assert("username", 'Invalid email address.').isEmail(); req.assert("password", 'Password cannot be empty.').notEmpty(); req.assert("passwordConfirm", 'Passwords entered do not match!').equals(password); //Make sure we have no validation errors var pageErrors = req.validationErrors(); if(!pageErrors) { userModel.CreateUser(userName, password, function(err){ if(err) { //there was a […]

如何在Sails.js中提供自定义模型validation消息?

如何在Sails.js中提供自定义模型validation消息? Sails.js返回的validation消息不是用户友好的,所以我想为规则提供一个自定义validation消息,比如required,minLength等等,但是不知道如何。 这不是在文档中,我也检查了Anchor.js的文档w / c是Sails使用的validation器,但它也不存在。 更新: 上周没有得到答复,所以我实现了自己的解决scheme,想分享它,因为它可能对其他人有用 – 我如何在Sails.js中使用自定义validation消息 另一个更好的方法是使用下面的注释中find的@Rifat的解决scheme:) 另一个很好的select(学分:sfb_) – https://gist.github.com/basco-johnkevin/8436644

parsing错误的JSON并能够显示错误的位置

这不是关于如何pipe理或纠正有问题的JSON,而是关于如何向用户解释错误在哪里出错的JSON。 有没有办法找出parsing器失败的JSON中的哪个位置。 我想在node.js应用程序中解决这个问题,所以如果可能的话请保留你的答案。 当我使用内置的JSON对象和错误的JSON的parsing方法时,我只能得到exception消息SyntaxError: Unexpected string 。 我想找出发生错误的地方。 首选的是返回结果ok / error和错误位置的JSON.validate(json) 。 像这样的东西: var faultyJsonToParse = '{"string":"value", "boolean": true"}'; var result = JSON.validate(faultyJsonToParse); if (result.ok == true) { console.log('Good JSON, well done!'); } else { console.log('The validator found a \'' + result.error + '\' of type \'' + result.errorType + '\' in your JSON near […]

如何使用joi(Node.js的validation框架)validation对象的数组?

我得到一个对象数组到后端,其中每个对象包含一个服务名称。 结构如下所示 [{"serviceName":"service1"}, {"serviceName":"service2"},..] 当我在后端得到数组时,我想validation数组中的每个对象都具有serviceName属性。 我已经写了下面的代码,但即使我传递有效的数组,我得到validation错误。 var Joi = require('joi'); var service = Joi.object().keys({ serviceName: Joi.string().required() }); var services = Joi.array().ordered(service); var test = Joi.validate([{serviceName:'service1'},{serviceName:'service2'}],services) 对于上面的代码,我总是得到消息的validation错误 "value" at position 1 fails because array must contain at most 1 items

Mongoose模式:validation唯一字段,不区分大小写

我有一个userSchema像这样: var userSchema = new Schema({ name: { type: String , required: true , validate: [validators.notEmpty, 'Name is empty'] } , username: { type: String , required: true , unique: true , validate: [validators.notEmpty, 'Username is empty'] } }); username段应该是唯一的。 如果这个用户名已经存在于数据库中,Mongoose会抛出一个错误。 但是,这不是大小写敏感的,我需要它。 我是否认为实现不区分大小写的唯一检查的唯一方法是编写自己的validation规则,它将对集合执行查询? 是否可以写这样的validation检查,创build更多的连接到集合? 我也需要为email做类似的事情。

在Express-Validator中validation

我正在使用快速validation器进行validation。 我正在使用mongoose数据库,它也有内置的validation。我想知道我应该使用哪一个? 我也想知道express-validator中的validation是否平行。 以此代码为例: req.checkBody('email', 'Invalid email').notEmpty().isEmail().isUnique(); req.checkBody('password', 'Invalid possword').notEmpty().len(8, 30); req.checkBody('first_name', 'Invalid first_name').notEmpty().isAlpha(); req.checkBody('last_name', 'Invalid last_name').notEmpty().isAlpha(); req.checkBody('dateofbirth', 'Invalid dateofbirth').notEmpty.isDate(); isUnique()是一个自定义validation方法,用于检查电子邮件是否已经被注册或者没有被注册,它会向数据库查询以进行validation。 虽然没有在上面的代码中提到,但我也有其他几个请求后,我需要validation多个字段,其中每个数据库查询将在其中进行。 所以我想知道是否可以并行运行上面的每一个检查方法,因为这样做会更快,也会让我更喜欢。 我显然会喜欢使用一个模块来并行运行这些像asynchronous。 我也想知道这些检查方法是否已经并行运行? 请帮我弄清楚这个? 提前致谢。

Node.js – Express.js JWT在浏览器响应中总是返回一个无效的令牌错误

我用express-jwt模块使用了node.js和express.js,并且设置了一个简单的HTTP服务器来testing一切: 这是涉及的节点代码: app.set('port', process.env.PORT || 3000); app.use(express.methodOverride()); app.use(allow_cross_domain); app.use('/api', expressJwt({secret: '09qrjjwef923jnrge$5ndjwk'})); app.use(express.json()); app.use(express.urlencoded()); app.use('/', express.static(__dirname + '/')); app.use(function(err, req, res, next){ if (err.constructor.name === 'UnauthorizedError') { res.send(401, 'Unauthorized'); } }); app.get('login',function(req,res){ //… jwt.sign(results.username+results.email, secret, { expiresInMinutes: 9000000000*9393939393393939393939 }); }); app.post('api/profile',function(req,res){ console.log(req.user); // this return undefined in console res.send(req.user); // response is pending and dunno why […]