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

153
Visualizações
Validación de reacción usando los componentes TextField de Material UI

He estado investigando esto durante una hora y no parece que haya muchos ejemplos de esto en Internet. Estoy tratando de validar los campos de entrada para que se llenen todos los campos, de lo contrario habrá un error. La cantidad de caracteres no importa, solo necesita completar las entradas.

Así que aquí está mi objeto de estado

 constructor(props) { super(props); this.state = { firstName: '', lastName: '', ..., }; }

Y aquí están los campos de texto de la interfaz de usuario del material.

 <TextField className={classes.formInput} name="firstName" onChange={e => this.handleChange(e.target.value)} required id="" type="text" InputLabelProps={{ shrink: true, }} error={!firstName} helperText="Name is required" label="First Name" variant="standard" /> <TextField className={classes.formInput} name="lastName" onChange={e => this.handleChange(e.target.value)} required id="" type="text" InputLabelProps={{ shrink: true, }} label="Last Name" variant="standard" />

Y aquí está el controlador onchange

 handleChange = (e) => { this.setState({ [e.target.name]: e.target.value }); }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Lo más probable es que desee agregar esta validación solo después de que el usuario intente enviar el formulario. Luego, debe crear un nuevo estado para formError y agregarlo a su condición de función de envío que verificará que si sus entradas están vacías, entonces establezca el estado de formError en verdadero. Después de eso, su expresión para el estado de error de entrada se verá así:

error={formError && firstName.length === 0}

Obtendrá una buena experiencia de usuario cuando sus entradas se resalten en rojo solo cuando hubo un intento de enviar un formulario con entradas vacías.

about 4 years ago · Juan Pablo Isaza Relatório

0

Cuando el usuario está enviando el formulario, dado que todo lo que desea hacer es validar que se haya completado algo en los campos de nombre y apellido, puede verificar esto con:

 this.state.field !== '' //returns true if it's filled in

o

 this.state.field.length > 0 //returns true if it's filled in

en cualquier función 'handleSubmit' que cree, puede llamar a una función separada para validar todos sus campos. Esa función de validación puede verse así:

 // returns 'true' if fields filled out, and 'false' if not validateForm = () => { if (this.state.firstName === '' || this.state.lastName === '') { //set error message: 'Please fill out all fields') return false; } else { return true; } }
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