com.smartgwt.client.widgets.form.fields.events

## Interface HasChangeHandlers

- All Superinterfaces:
    com.google.gwt.event.shared.HasHandlers
  All Known Implementing Classes:
    AIDataQuestionItem, AutoFitTextAreaItem, BlurbItem, BooleanItem, ButtonItem, CancelItem, CanvasItem, CheckboxItem, ColorItem, ColorPickerItem, ComboBoxItem, DateItem, DateRangeItem, DateTimeItem, DoubleItem, FileItem, FloatItem, FormItem, HeaderItem, HiddenItem, IntegerItem, IPickTreeItem, LinkItem, MiniDateRangeItem, MultiComboBoxItem, MultiFileItem, NativeCheckboxItem, PasswordItem, PickTreeItem, PresetCriteriaItem, PresetDateRangeItem, RadioGroupItem, RelativeDateItem, ResetItem, RichTextItem, RowSpacerItem, SavedSearchItem, SectionItem, SelectItem, SelectOtherItem, SliderItem, SpacerItem, SpinnerItem, StaticTextItem, SubmitItem, TextAreaItem, TextItem, TimeItem, ToolbarItem, UploadItem, ViewFileItem

      public interface HasChangeHandlers
      extends com.google.gwt.event.shared.HasHandlers

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.google.gwt.event.shared.HandlerRegistration` | `addChangeHandler(ChangeHandler handler)` Called when a FormItem's value is about to change as the result of user interaction.

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Method Detail

    - #### addChangeHandler

          com.google.gwt.event.shared.HandlerRegistration addChangeHandler(ChangeHandler handler)

      Called when a FormItem's value is about to change as the result of user interaction. This method fires after the user performed an action that would change the value of this field, but before the element itself is changed.

      Returning false cancels the change. Note that if what you want to do is transform the user's input, for example, automatically change separator characters to a standard separator character, you should implement `transformInput` rather than using a combination of change() and setValue() to accomplish the same thing. Returning false from `change` is intended for rejecting input entirely, such as typing invalid characters.

      Note that if you ask the form for the current value in this handler, you will get the old value because the change has not yet been committed. The new value is available as a parameter to this method.

      Change/Changed notifications vs "...When" rules: the `change` and `changed` events only fire when an end user modifies a field value. If you are trying to dynamically control the visibility or enabled state of other components in response to these events, consider instead using properties such as `Canvas.visibleWhen`, `item.readOnlyWhen`, `Canvas.enableWhen` on the target component. (Similar properties are available on `FormItem`, `Canvas`, `MenuItem` and other components).

      Parameters:
        `handler` - the change handler
      Returns:
        `HandlerRegistration` used to remove this handler