我想对__NodeJS Rest API__
进行javascript验证,但我的问题是;
验证员类
class Checks {
constructor() {
}
object(field) {
return field;
}
keys(field) {
if(typeof field === "string") {
return true;
}
return false;
}
}
module.exports = Validator;
我想用
Validator.validate(field).string()
但错误代码:
答案 0 :(得分:0)
您可以将字段指定为当前实例的属性,然后返回this
链接方法。
class Validator {
constructor() {
this.field = null;
}
validate(field) {
this.field = field;
return this;
}
string(field) {
return typeof this.field === "string";
}
}
module.exports = Validator;
//usage
const Validator = require('path/to/Validator');
new Validator().validate(field).string();
答案 1 :(得分:0)
你可以改变,
class Validator {
constructor() {
}
validate(field) {
if(typeof field === "string") {
return true;
}
return false;
}
}
module.exports = Validator;
拨打电话,
Validator.validate(field)
或者只是将验证功能更改为,
validate() {
return this;
}
并称之为,
Validator.validate().string(field)
答案 2 :(得分:0)
//validator-factory.js
class ValidatorFactory {
static validate(field) {
return new Validator(field);
}
}
class Validator {
constructor(field) {
this.field = field;
}
string() {
if(typeof this.field === "string") {
return true;
}
return false;
}
}
module.exports = ValidatorFactory;
然后,导入ValidatorFactory
&使用如下
var ValidatorFactory = require('./validator-factory');
ValidatorFactory.validate(field).string();
请注意static
&中使用ValidatorFactory
关键字validate
每次都会返回Validator
类的新实例。