developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#709 closed bug (fixed)

Le champ de saisie de type "html" ne se met pas en erreur quand le HTML est invalide

Reported by: Arnall Owned by:
Priority: normal Milestone: Jelix 1.1.4
Component: jelix:forms Version: 1.1 beta 1
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Documentation needed: no
Hosting Provider: Php version: 5.2.6

Description

En utilisant jForm on peut préciser le type "html" dans un champ de saisie afin de nettoyer le contenu HTML côté serveur. Or si le HTML est invalide PHP génère des "warning" mais il n'y a pas de retour au formulaire et le champ de saisie n'est pas mis en erreur.

Change History (7)

comment:1 Changed 12 years ago by laurentj

  • Milestone set to Jelix 1.1.2
  • Type changed from enhancement to bug

comment:2 Changed 12 years ago by foxmask

Une idée en l'air : la class html.validator.php de clearbricks gere cela en interrogeant validator.w3.org et en recuperant la reponse pour vérifier la validité.

comment:3 Changed 11 years ago by foxmask

@arnal : peux tu me dire si tu utilises des fichiers xml .form.xml ?

Si non : comment definis tu ton control "type" html ?

comment:4 Changed 11 years ago by Julien

Hello,

peut-être on peut rapprocher ça avec #899 ?

à savoir avoir un controle htmleditor et un xhtmleditor ? avec strict/transitional, et pourquoi pas un attribut booléen "validate" qui ferait la vérification.

merci pour vos commentaires.

comment:5 Changed 11 years ago by foxmask

on ne peut pas "valider" le contenu d'un textarea type "htmleditor" car :

  • le contenu de ce textarea est consideré comme du texte ; qd bien meme on mettrait du <pre>foobar dedans.

Du coup qd je soumets le contenu du textarea c'est 100% valide puisque le texte devient : &lt;pre&gt;foobar

comment:6 Changed 11 years ago by laurentj

  • Resolution set to fixed
  • Status changed from new to closed

@foxmask: interroger le validateur w3c n'est pas forcément une bonne chose. Sur des sites à moyen et fort trafic, c'est juste inconcevable.

à part ça, j'ai fixé le bug sur trunk et 1.1.x, en même temps que #899.

Il n'y a plus de warning, cependant, à moins de cas très particulier de code invalid (j'ai pas reussi à en trouver), le check renvoi true. En effet, DOMDocument::loadHTML() nettoie de lui-même le contenu (tout en générant des warnings que j'ai supprimé), et donc on a, après filtrage, du code html valide.

On peut aussi maintenant indiquer si on veut du html ou du xhtml, en utilisant <input type="xhtml"> ou <htmleditor xhtml="true">.

comment:7 Changed 11 years ago by foxmask

hé bien tant mieux que PHP se charge de la validation HTML ! Génial :)

Note: See TracTickets for help on using tickets.