Tengo una entrada con el tipo de contraseña con minLength 8, y tengo una palanca para cambiar el tipo a texto (palanca de contraseña).
cuando escribo con una longitud <8 y presiono enviar, no se puede enviar. pero, cuando cambio la contraseña para que cambie el tipo a texto y envíe el formulario, se puede enviar. por cierto estoy usando useRef ()
Reaccionar versión:
reaccionar: ^ 17.0.1
reaccionar-dom: ^ 17.0.1
Enlace al ejemplo de código: DEMO
El formulario se envía incluso cuando está por debajo de minLength
El formulario no se envía cuando está por debajo de minLength
Gracias por el informe.
Puedo detectar dos problemas:
minLength="3"
no 8.minLength
no es compatible con IE 11: https://caniuse.com/input-minlengthEstoy usando mac os 10.14.6 y el navegador Safari 13.0.5 (14608.5.12)
Olvidé algo, no escriba ningún carácter después de alternarlo
por cierto, cuando intento con Chrome 86.0.4240.183 funciona bien. creo que pasa solo en safari
Gracias, puedo reproducir esto.
Generalmente, cualquier validación se ignora si la entrada es impecable. Si envía el formulario sin escribir nada, se ignora minLength
.
Safari marca correctamente el formulario como no válido si escribiste algo que no pasa todas las restricciones. Sin embargo, cuando cambia type
, Safari parece considerar la entrada impecable. Por lo tanto, se envía un valor no válido si type
cambió después de completar la escritura.
La pregunta es si React puede o debería solucionar esta peculiaridad o si Safari debería solucionarlo.
Editar:
Reproducción mínima sin ninguna reacción: https://codesandbox.io/s/condescending-bhabha-n4374?file=/src/index.js
Si necesita este comportamiento, le sugiero que presente un error en Safari.
Comentario más útil
Gracias, puedo reproducir esto.
Generalmente, cualquier validación se ignora si la entrada es impecable. Si envía el formulario sin escribir nada, se ignora
minLength
.Safari marca correctamente el formulario como no válido si escribiste algo que no pasa todas las restricciones. Sin embargo, cuando cambia
type
, Safari parece considerar la entrada impecable. Por lo tanto, se envía un valor no válido sitype
cambió después de completar la escritura.La pregunta es si React puede o debería solucionar esta peculiaridad o si Safari debería solucionarlo.
Editar:
Reproducción mínima sin ninguna reacción: https://codesandbox.io/s/condescending-bhabha-n4374?file=/src/index.js
Si necesita este comportamiento, le sugiero que presente un error en Safari.