Adds valichain functionality to sails requests.
npm install sails-hook-valichain --save
var rules = {
create : {
name : new Valichain()
.s$trim()
.v$matches(/^[a-z\. ]+$/i)
.msg("Name must have only letters, spaces and dots"),
address : new Valichain().default(null).s$trim().v$blacklist("'\""),
},
//...
};
NOTE: see valichain and its documentation for details about usage.
// returns the same object of Valichain.extract()
var params = req.valichain(rules.create);
if (!params) {
sails.log.debug(
"Validation failed. Results:",
req.valichain.result // result of Valichain.validate()
);
return res.badRequest();
}
console.log("validation succeeded: ", params);
var user = yield User.create({
name: params.name, // validate and sanitized value
address: params.address // validate and sanitized value
});
//...
NOTE: see Valichain.extract() and Valichain.validate() for details about result structures.
MIT