2012-04-15 6 views
6

Me pregunto si es posible establecer un elemento "obligatorio" basado en algún otro elemento. Por ejemplo, supongamos que tengo un elemento de entrada que quiero que sea "requerido" si y solo si el usuario marca una casilla de verificación específica. Primero, ¿es posible hacerlo sin el uso de JavaScript? En segundo lugar, si usamos JavaScript, por supuesto, se podría configurar una regla/validación si el usuario verifica esa casilla de verificación, pero ¿qué ocurre con la coherencia con respecto a los errores de validación del navegador predeterminados? ¿Sería "correcto" agregar el atributo "requerido" al elemento una vez que se haga clic en la casilla de verificación? No veo una alternativa aquí. ¿Cuáles son sus pensamientos sobre este?Reglas condicionales para la validación de formularios HTML5

Respuesta

3

No creo que pueda hacer esto sin javascript.

Con javascript, puede hacerlo con la suficiente facilidad.

Agregaría el atributo required solo después de hacer clic en la casilla de verificación.

De hecho, haría de esto una pieza toggled, de modo que el usuario pueda desmarcar y no volver a solicitar la entrada.

Sin embargo, no confiaría en la implementación del navegador del atributo required. En cambio, crearía mi propia notificación requerida usando CSS (resaltando, animando, mostrando algunas palabras).

+0

"Sin embargo, yo no contar con la aplicación de navegador del atributo requerido" - Estoy de acuerdo! Estoy pensando que si utilizara JavaScript podría resolver mi problema, pero, si JavaScript está desactivado (suponiendo ...), entonces tendría la validación de formulario predeterminada del navegador para algunos campos pero no para otros. A menos que (debería haber mencionado esto antes) tengo la "novalidación" en el HTML y esto se eliminaría con JavaScript, lo que significa que sin JavaScript solo habría validación del lado del servidor. – Jonas

0

Es posible utilizar polyfills para emular la validación nativa cuando no está disponible:
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills

+0

Hay algunos guiones probablemente, pero si JS está deshabilitado, tendrá validaciones para algunos campos y no para otros. – Jonas

+0

De todos modos, tiene que hacer la validación del lado del servidor. Y debe aceptar el hecho de que JS puede desactivarse y que los polyfills no funcionarán en este caso. Pero solo puede mejorar la experiencia del usuario, entonces ¿por qué no hacerlo? –

Cuestiones relacionadas