Class FormFillFailure

  • All Implemented Interfaces:
    Serializable, org.kohsuke.stapler.HttpResponse

    public class FormFillFailure
    extends IOException
    implements org.kohsuke.stapler.HttpResponse
    Helper for hudson.util.FormFillFailure, which was not added until JENKINS-42443, which was added in Jenkins 2.50. If an older version of Jenkins is being used at runtime, then a fallback implementation is used.

    Sample usage

       public class TheClass {
         @DataBoundConstructor
         public TheClass(String theField) {
           // Decode in case the control form had an encoded error.
           this.theField = FormFillFailure.getErrorValue(theField);
         }
    
         public class DescriptorImpl ... {
           public ListBoxModel doFillTheFieldItems(@QueryParameter String theField) throws FormFillFailure {
             // Decode in case the control form had an encoded error.
             theField = FormFillFailure.getErrorValue(theField);
             if (...error...) {
               throw FormFillFailure.error(...message..., theField);
             }
    
             // Add an empty value to require selection.
             ListBoxModel model = new ListBoxModel().add("");
    
             // Explicitly set the selected parameter in case the control form
             // value had an encoded error with this value.
             model.add(new ListBoxModel.Option(displayName, value, value.equals(theField)));
    
             return model;
           }
    
           public FormValidation doCheckTheField(@QueryParameter String theField) {
             // Decode in case the control form had an encoded error without
             // a selected value.
             return FormFillFailure.validateRequired(value);
           }
         }
       }
     
    See Also:
    Serialized Form