@Deprecated public interface

FormFragment

com.atlassian.stash.ui.FormFragment

This interface is deprecated.
use ContextualFormFragment

Class Overview

Allows the injection of fields into existing forms provided by the host application.

Summary

Public Methods
void doError(Appendable appendable, Map<String, String[]> requestParams, Map<String, Collection<String>> fieldErrors)
Render your fields after a validation error has occurred.
void doView(Appendable appendable)
void execute(Map<String, String[]> requestParams)
Store the fields supplied by this form and perform any other actions.
void validate(Map<String, String[]> requestParams, ValidationErrors errors)
Validate the fields supplied by this form fragment.

Public Methods

public void doError (Appendable appendable, Map<String, String[]> requestParams, Map<String, Collection<String>> fieldErrors)

Render your fields after a validation error has occurred. Note that the validation error may have occurred on a field not supplied by this FormFragment.

Parameters
appendable the Appendable to append field HTML that will be injected into the form, with any relevant errors supplied by the fieldErrors map rendered inline. The fields and error messaging should match the style of the pre-existing fields in the form.
requestParams the map of parameters from the request. This will contain any input supplied by the user in the fields rendered by doView(Appendable), alongside any other fields in the form rendered by the system or other FormFragments.
fieldErrors a Map of String field names to sets of String error messages. If the field name matches one of the fields supplied by your doView(Appendable) implementation, you should render the error messages alongside your field.
Throws
IOException if there was a problem writing to the supplied appendable.

public void doView (Appendable appendable)

Parameters
appendable the Appendable to append field HTML that will be injected into the form. The fields should match the style of the pre-existing fields in the form.
Throws
IOException if there was a problem writing to the supplied appendable.

public void execute (Map<String, String[]> requestParams)

Store the fields supplied by this form and perform any other actions. Any failures at this point are considered unrecoverable and should throw an unchecked exception to halt the request (which will redirect the user to a 500 page). Any recoverable errors should be handled above in the validate(Map, ValidationErrors) method. This method is invoked only if the validate(Map, ValidationErrors) method on all registered FormFragments and the form's own field validation has completed without any validation errors.

Parameters
requestParams the map of parameters from the request. This will contain any input supplied by the user in the fields rendered by doView(Appendable), alongside any other fields in the form rendered by the system or other FormFragments.

public void validate (Map<String, String[]> requestParams, ValidationErrors errors)

Validate the fields supplied by this form fragment. This method should not persist any field values, as validation may fail on another field not specified by this FormFragment. See execute(Map), which is invoked after validate(Map, ValidationErrors) if all fragments have successfully validated. This method should make all reasonable attempts to ensure that the subsequent invocation of execute(Map) will not fail.

Parameters
requestParams the map of parameters from the request. This will contain any input supplied by the user in the fields rendered by doView(Appendable), alongside any other fields in the form rendered by the system or other FormFragments.
errors use this to report any validation errors on the input supplied from your fields. See ValidationErrors for more details.