Untitled
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, };
Leave a Comment