❌ Caso tenha muitos campos para validar, nosso código começará a ficar ilegível. Essa lógica só poderá ser utilizada para entidades do tipo "user". Caso eu queira validar outro tipo de entidade, terei que repetir esse formato em outro lugar do meu sistema.
const isValidUser = (user) => {
if (!user.name || !user.email || !user.phone || !user.city) {
return false;
}
}
✔️ Solução simples e elegante. Nesse formato nossa função não conhece o que está validando. Você pode usá-la de forma genérica em qualquer lugar, basta passar como argumento o tipo de dado esperado e o que irá ser validado.
const expectedData = ["name", "email", "phone", "city"];
const isValidData = (expectedData, receivedData) => {
return expectedData.every((key) => Object.keys(receivedData).includes(key));
};