Validando input file e select com Yup
Jardel
Posted on June 28, 2024
Fala, galera! Estava implementando aqui um formulário com validação Yup e me deparei com dois campos que nunca tinha trabalhado: select
e input file
.
Procurei algumas formas de fazer a melhor validação desses campos e confesso que achei bem escasso essas informações. Então vou deixar registrado aqui caso alguém queira uma fonte de ajuda na hora de implementar esses campos.
Bom, o formulário que implementei é esse:
E a solução que implementei foi essa:
O que eu usei
O Yup.mixed() trata todos os tipos, mas você também consegue tipar para receber algo específico.
O Yup.oneOf() me ajudou a setar corretamente as
options
do meuselect
e a validar se o campo estava preenchido, se não tivesse preenchido ele retornava uma mensagem de erro personalizada.O Yup.test() eu adicionei para validar o
input file
. Nele eu precisava verificar se o campo estava preenchido e se era um.pdf
, e também tem o retorno de mensagens de erro personalizadas.
Essa foi uma solução que eu desenvolvi para o que era necessário.
Sugestão: Se você tem alguma sugestão de melhoria ou qualquer que seja, comenta aí.
Ressalva: Também deve haver validação no backend para prevenir alteração no tipo do arquivo via proxy.
Palavras-chave: yup, input file, select, validate, how to validate input file with yup, how to validate select with yup.
Posted on June 28, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.