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 11 years ago

Closed 9 years ago

Last modified 9 years ago

#977 closed bug (fixed)

emptyitem et menulist obligatoire

Reported by: foxmask Owned by: Julien
Priority: normal Milestone: Jelix 1.3 beta 1
Component: jelix:forms Version: 1.1.3
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Documentation needed: yes
Hosting Provider: Php version:

Description

la doc dit que l'on peut utiliser <emptyitem> pour indiquer un libellé pour le choix "vide" (ce qui de surcroit rend la page valid W3C ; c'est qui n'est pas le cas quand il n'y a pas de libelle pour le choix vide d'ailleurs)

Cela ne fonctionne plus dans un cas particulier :

   <menulist ref="ville" required="true">
      <label>votre ville :</label>
      <emptyitem>faites votre choix</emptyitem>
      <datasource class="monmodule~listData" />
  </menulist>

dans ce cas là, si la datasource ne retourne aucune ville. Le formulaire contiendra une liste déroulante vide, sans même le <emptyitem>.

Change History (13)

comment:1 Changed 11 years ago by foxmask

  • Priority changed from highest to normal

comment:2 Changed 11 years ago by laurentj

  • Milestone set to Jelix 1.1.4
  • Priority changed from normal to low

comment:3 Changed 11 years ago by foxmask

le contenu de emptyitem n'est pas affiché des lors qu'on met required=true

comment:4 Changed 11 years ago by laurentj

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

Je n'avais pas fait attention à l'attribut required. Mais cela parait logique. Si le control est required, cela veut dire que l'utilisateur doit absolument indiquer un choix. Et faire un choix implique bien entendu une valeur. Donc ce ne peut etre le choix du emptyitem. Donc pas de emptyitem. Car sinon, si on autorisait la valeur vide pour un champs required, comment coté serveur savoir si l'utilisateur a bien fait un choix ?

Bref, si le control est required, à toi de faire en sorte que le dao fournisse toujours quelque chose. Si il est susceptible de ne rien renvoyer, alors cela veut dire que la saisie dans ton control n'est pas obligatoire.

INVALID donc pour moi.

comment:5 Changed 11 years ago by foxmask

understood

comment:6 follow-up: Changed 9 years ago by laurentj

  • Milestone changed from Jelix 1.1.4 to Jelix 1.3
  • Priority changed from low to normal

Reouverture du bug. Cet emptyitem avec un menulist required est de plus en plus demandé, et finalement mon argumentation est assez faible. Rien n’empêche effectivement de checker que la valeur selectionnée correspond bien à une valeur de la liste...

comment:7 in reply to: ↑ 6 Changed 9 years ago by Julien

  • Resolution invalid deleted
  • review set to review?
  • Status changed from closed to reopened

Replying to laurentj:

Reouverture du bug. Cet emptyitem avec un menulist required est de plus en plus demandé, et finalement mon argumentation est assez faible. Rien n’empêche effectivement de checker que la valeur selectionnée correspond bien à une valeur de la liste...

https://bitbucket.org/julieni/jelix-trunk-patches/src/128b1c3f30f5/jForms-menulist-should-have-empty-item-even-when-required.patch

;)

comment:8 Changed 9 years ago by Julien

  • Owner set to Julien
  • Status changed from reopened to new

and also :

https://bitbucket.org/julieni/jelix-trunk-patches/src/128b1c3f30f5/jForms-emptyitem-in-listbox.patch

because some people don't know how to deselect things in listboxes (ctrk-key)

ps: fot this patch and the one above, I have to complete unit-tests.

comment:9 Changed 9 years ago by laurentj

  • review changed from review? to review-

https://bitbucket.org/julieni/jelix-trunk-patches/src/128b1c3f30f5/jForms-menulist-should-have-empty-item-even-when-required.patch

ok, but some tests should be adapted, no?

https://bitbucket.org/julieni/jelix-trunk-patches/src/128b1c3f30f5/jForms-emptyitem-in-listbox.patch

It seems it doesn't apply on the trunk? And modifications on jFormsCompiler_jf_1_0 should be made in fact on jFormsCompiler_jf_1_1.

And probably some tests should be adapted.

comment:10 Changed 9 years ago by Julien

yup, my ps said tests should be completed/upgraded

for the listbox patch, should work, but I may need to re-order my patch queue because it's quite at the end right now...

comment:11 Changed 9 years ago by laurentj

  • review review- deleted

jForms-menulist-should-have-empty-item-even-when-required.patch has been pushed with tests updated https://bitbucket.org/jelix/jelix-trunk/changeset/736c4434d8d4

comment:12 Changed 9 years ago by laurentj

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

pushed jForms-emptyitem-in-listbox.patch with tests

https://bitbucket.org/jelix/jelix-trunk/changeset/c3d87a14248a

comment:13 Changed 9 years ago by laurentj

  • Documentation needed set
Note: See TracTickets for help on using tickets.