0
ここに私のマングース用のカスタムバリデーターがあります。 1つのフィールドに対して複数の検証を行うより便利な方法はありますか?それは動作しますが、私はそれが最良の方法ではないと思います。ネイティブマングースバリデーターを使って複数のバリデーションをしようとする私の試みはすべてクラッシュします。mongoose one field multiple validation
schema.pre('save', function(callback) {
var self = this;
function nameLength(){
var Regex1 = /^.{4,12}$/;
if (Regex1.test(self.username)=== false){
return(" Username must be between 4 and 12 characters long");
}else{
return(0);
}
}
function nameSymbols() {
var Regex1 = /^[A-Za-z0-9]+$/;
if (Regex1.test(self.username) === false) {
return (" Only roman letters and numbers can be used");
} else {
return (0);
}
}
function passwordLength(){
var Regex1 = /^.{8,50}$/;
if (Regex1.test(self.password)=== false){
return("Password must be between 8 and 50 characters long");
}else{
return(0);
}
}
var f1 = nameLength();
var f2 = nameSymbols();
var f3 = passwordLength();
var val = {};
val.checkUsername = [f1, f2].filter(function(string){return string});
val.checkPassword = [f3].filter(function(string){return string});
if(val.checkUsername.length == 0){
delete val.checkUsername
}else if((val.checkPassword.length == 0)){
delete val.checkPassword
};
for(var key in val){
console.log(key);
if(key){
var err = new RegError(val);
callback(err);
}else{
callback();
}
}
});
はい、これは私の省略です。ありがとうございました! –