5568 sujets

Sémantique web et HTML

Bonjour,

Je suis développeur et je souhaite désactiver la balise "required" présent dans les <input >. Je souhaite contrôler que sans HTML5 le contrôle de saisie est bien effectué par le serveur. J'ai des clients n'ayant pas HTML5 sur leur navigateur.
Si HTML5 est activé la requete HTTP n'est jamais soumise au serveur (et donc controllé) car elle est intercepté par HTML5 qui me dit que le champs est obligatoire.
J'ai les versions de browser les plus recents.

Est-il possible de desactiver la balise "required" du HTM5 (ou bien comment desactiver HTML5) sur chrome, firexfox ou autre ?

Une solution est d'installer un browser ancienne génération mais je pense que ce n'est pas la bonne solution Smiley smile
salut,
il s'agit d'un attribut et non d'une balise et pour ne pas avoir de contrôle, il te suffit de ne pas le mentionner.
Administrateur
Bonjour,

je n'ai pas compris la question :
- une vérification côté serveur est absolument indispensable, c'est la règle n°1 de la sécurité de tes données, du site et du serveur. Peu importe ce que fait le navigateur, on ne sait pas ce qui est envoyé (et c'est ça qui rend cette vérification indispensable).
- pour ne pas avoir l'attribut required et son effet, il suffit de ne pas le générer dans le code HTML. Ou si ce n'est pas possible pour je ne sais quelle raison, le retirer en JS après le chargement de la page. Ou bien ce n'est pas de vos sites dont vous parlez (mais vous avez des clients qui vous demandent ça ?)
- si l'attribut est présent, il fait son boulot (ne pas valider le formulaire jusqu'à ce que le champ soit rempli) PUIS c'est envoyé au serveur qui doit faire son indispensable boulot, que le navigateur soit compatible HTML5 ou pas (cf. 1er point)
Modifié par Felipe (30 Apr 2014 - 11:03)
Pourquoi veux-tu supprimer l'effet de required ? C'est important de savoir qu'un champ est obligatoire quand il l'est effectivement.

Je ne vois pas de bonne raison d'empêcher le navigateur de faire ce travail. Ca évite un aller-retour vers ton serveur en cas de saisie incomplète, et l'utilisateur est averti immédiatement et d'une façon dont il a l'habitude. Si tu trouves ça moche et si tu veux remplacer l'avertissement auquel l'utilisateur est habitué dans ces circonstances par du plugin qui fait des trucs fancy, c'est pas forcément une bonne idée.

Tu peux toujours utiliser l'attribut novalidate si tu ne peux pas enlever required, mais ce n'est pas une pratique que je recommanderais; vraiment pas.