developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.
#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 12 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
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: ↓ 7 Changed 10 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 10 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...
;)
comment:8 Changed 10 years ago by Julien
- Owner set to Julien
- Status changed from reopened to new
and also :
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 10 years ago by laurentj
- review changed from review? to review-
ok, but some tests should be adapted, no?
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 10 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 10 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 10 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 10 years ago by laurentj
- Documentation needed set
le contenu de emptyitem n'est pas affiché des lors qu'on met required=true