[
https://issues.jenkins-ci.org/browse/JENKINS-12802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jørgen Tjernø updated JENKINS-12802:
------------------------------------
Assignee: (was: Jørgen Tjernø)
Component/s: (was: jenkins-plugin-runtime)
Removing the (poorly name) jenkins-plugin-runtime from the component list of
this bug. Jenkins-plugin-runtime deals with plugins in Ruby etc, not Java.
Sorry for the confusion!
> Initial select box validation fails when default value is provided.
> -------------------------------------------------------------------
>
> Key: JENKINS-12802
> URL: https://issues.jenkins-ci.org/browse/JENKINS-12802
> Project: Jenkins
> Issue Type: Bug
> Components: plugin
> Affects Versions: current
> Environment: Jenkins version 1.451.
> Jenkins run through mvn hpi:run.
> See system info in attachment for further information.
> Browser: Google Chrome 17 and Firefox 10
> Reporter: Ben Ripkens
> Labels: jelly, jenkins, listbox, plugin
> Attachments: systeminfo.pdf
>
>
> When defining a select box like this:
> {code:xml}
> <f:entry title="Version Control System type"
> field="vcs">
> <f:select/>
> </f:entry>
> {code}
> and validating the value through a
> {code:java}
> int i = 0;
> public FormValidation doCheckVcs(@QueryParameter String value) {
>
> System.out.println(i + ": value: " + value);
> i++;
> try {
> VersionControlSystem.valueOf(value);
> return FormValidation.ok();
> } catch (IllegalArgumentException ex) {
> return FormValidation.error("Please select one of the Version Control
> Systems.");
> }
> }
> {code}
> method, it can be observed that the validation method is called two times
> when opening the configuration menu (http://localhost:8080/configure). The
> first time, the correct default value, i.e., the selected item's value, is
> passed to the validation method. The second time, no data is passed in (see
> following code listing for output).
> {code}
> 0: value: MERCURIAL
> 1: value:
> {code}
> The code is additionally available on GitHub:
> Descriptor:
> https://github.com/bripkens/janus-plugin/blob/389833439d11cc4daf5666c1ac7fb98ecad28471/src/main/java/de/codecentric/janus/plugin/Root.java
> Jelly:
> https://github.com/bripkens/janus-plugin/blob/389833439d11cc4daf5666c1ac7fb98ecad28471/src/main/resources/de/codecentric/janus/plugin/Root/global.jelly
> Data is provided in the following way:
> {code:java}
> public ListBoxModel doFillVcsItems() {
> ListBoxModel m = new ListBoxModel();
> m.add("Please select", "");
> for (VersionControlSystem vcs : VersionControlSystem.values()) {
> if (this.vcs == vcs) {
> m.add(new ListBoxModel.Option(vcs.name(), vcs.name(),
> true));
> } else {
> m.add(vcs.name());
> }
>
> }
> return m;
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira