Node.js:如何使用 validator.js 处理多重验证

Node.js: How to handle multiple validate with validator.js

我找到了 validator.js,但我不确定应该如何验证多个值。

使用 validate.js 我可以定义约束,然后 运行 validate(myDataObject, constraints) 并且 returns 错误或成功。

但是对于 validator.js 我需要做类似的事情:

if(validator.isEmail(myData.email) && validator.isURL(myData.url)) {
    // success
}

有很多变量,这可能会变得混乱,尤其是当多个地方需要相同的条件时。

知道我可以做什么而不是使用 if 来验证许多字段吗?

您可以添加自己的验证器

validator.extend('isAwesomeEmail', function (myData) {
    return validator.isEmail(myData.email) &&
        validator.isUrl(myData.url);
});

validator.extend('isSuperAwesomeEmail', function (myData) {
    return validator.isAwesomeEmail(myData) &&
        myData.awesome === true;
});

validator.isAwesomeEmail(myData);
validator.isSuperAwesomeEmail(myData);