reactjs - minLength no funciona en typescript, react
Tengo una entrada en Next, TypeScript. Maxlength funciona, pero minlength no funciona ahora. ¿Alguien sabe cómo validar ambos?
Aquí está mi código.
<input type="text" placeholder="text" required={true} minLength={2} maxLength={10} />
<button type="submit">Submit</button>
Respuesta #1
Tu código está bien. Sin embargo, minlength funciona de manera diferente a maxlength.
- HTML
maxlengthevita que el usuario escriba más caracteres de los permitidos por el maxlength. - HTML
minlengthpermitirá al usuario ingresar menos teclas en comparación con el requisito. Después de todo, necesitan poder comenzar con menos caracteres para llegar a más caracteres. Dicho esto, el campo mostrará un error si no se cumple el minlength.
Ejemplo completo
Usa este componente y presiona la tecla enter para jugar con el campo de entrada:
export default function App() {
return (
<form>
<input type="text" placeholder="text" required={true} minLength={2} maxLength={10} />
<button type="submit">Submit</button>
</form>
);
}
Capturas de pantalla
Porque es obligatorio:
Porque no se cumple la longitud mínima:
Respuesta #2
puedes instalar las bibliotecas de Material UI npm install @material-ui/core bibliotecas de Material UI
Hay muchos componentes. Usa componentes Textfield.
Usando inputProps establecemos maxlength en el textfield
<TextField inputProps={{ maxLength: 10 }} type="text" />
Componentes de Texto de Material UI

