Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

230
Visualizações
Using switch case to validate form

I am creating a form validation with 2 conditions to validate. Is this a good way to use switch case with if else statement? Or is this something that is frown upon? If so, what would a better way to approach this without using external library, thank you.

Code:

const validate = ( name, value) => {
   switch (name) {
   case "user_name":
if (!value) {
 setErrors({ ...errors, user_name: "Please, submit required data" });
 } else if (!new RegExp(/^[A-Za-z0-9]+$/).test(value)) {
 setErrors({
...errors,
 user_name: "Please, provide the data of indicated type(no special characters)",
});
 } else {
let newObj = omit(errors, "user_name");
 setErrors({ ...newObj });
 }
 break;
.....
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

It's not very readable so I wouldn't say it's the best way, but it's definitely not the worst. You could try something like this.

const validate = (name, value) => {
  if (!value) {
    setErrors({ ...errors, [name]: "Please, submit required data" })
    return
  }
  
  switch (name) {
    case "user_name": {
      if (!new RegExp(/^[A-Za-z0-9]+$/).test(value)) {
        setErrors({
          ...errors,
          user_name: "Please, provide the data of indicated type(no special characters)"
        })
        return
      }
    }
  }
  
  const newObj = omit(errors, name)
  setErrors({ ...newObj })
}
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda