Untitled
unknown
plain_text
2 years ago
1.6 kB
4
Indexable
const regexData = /^\d{2}\/\d{2}\/\d{4}$/;
const validName = (name) => {
if (!name) {
return { message: 'O campo "name" é obrigatório' };
}
if (name.length < 3) {
return { message: 'O "name" deve ter pelo menos 3 caracteres' };
}
return {};
};
const validAge = (age) => {
if (!age) {
return { message: 'O campo "age" é obrigatório' };
}
if (age < 18 || !Number.isInteger(age) || typeof age !== 'number') {
return { message: 'O campo "age" deve ser um número inteiro igual ou maior que 18' };
}
return {};
};
const validRate = (rate) => {
if (typeof rate === 'undefined') {
return { message: 'O campo "rate" é obrigatório' };
}
if (rate < 1 || rate > 5 || !Number.isInteger(rate)) {
return { message: 'O campo "rate" deve ser um número inteiro entre 1 e 5' };
}
return {};
};
const validTalk = (talk) => {
if (!talk) {
return { message: 'O campo "talk" é obrigatório' };
}
if (!talk.watchedAt) {
return {
message: 'O campo "watchedAt" é obrigatório',
};
}
if (!regexData.test(talk.watchedAt)) {
return {
message: 'O campo "watchedAt" deve ter o formato "dd/mm/aaaa"',
};
}
if (validRate(talk.rate)) {
return validRate(talk.rate);
}
};
const validTalker = (talker) => {
const name = validName(talker.name);
const age = validAge(talker.age);
const talk = validTalk(talker.talk);
if (name.message) {
return name;
}
if (age.message) {
return age;
}
if (talk.message && talk) {
return talk;
}
return {};
};
module.exports = {
validTalker,
validRate,
validTalk,
validAge,
validName,
};Editor is loading...
Leave a Comment