com.smartgwt.client.widgets.form.validator

## Class RequiredIfValidator

- java.lang.Object
- - com.smartgwt.client.core.JsObject
  - - com.smartgwt.client.core.DataClass
    - - com.smartgwt.client.widgets.form.validator.Validator
      - - com.smartgwt.client.widgets.form.validator.RequiredIfValidator

- All Implemented Interfaces:
    com.google.gwt.event.shared.HasHandlers

      public class RequiredIfValidator
      extends Validator

  RequiredIf type validators should be specified with a ``RequiredIfFunction``, which has to be passed to ``setExpression()``, and takes two parameters:
  - item - the DynamicForm item on which the error occurred (may be null)
  - value - the value of the field in question

  When validation is perfomed, the expression will be evaluated - if it returns `true`, the field will be treated as a required field, so validation will fail if the field has no value.

- - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.core.DataClass

      `factoryCreated, factoryProperties`

    - ### Fields inherited from class com.smartgwt.client.core.JsObject

      `jsObj`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RequiredIfValidator()`
    `RequiredIfValidator(RequiredIfFunction expression)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `setExpression(RequiredIfFunction expression)` Set the expression.

    - ### Methods inherited from class com.smartgwt.client.widgets.form.validator.Validator

      `addValidatorDefinition, create, getApplyWhen, getCheckComponentData, getClientOnly, getCondition, getDependentFields, getOrCreateRef, getStopIfFalse, getStopOnError, getType, getTypeAsString, getValidateOnChange, setApplyWhen, setCheckComponentData, setClientOnly, setCondition, setDependentFields, setErrorMessage, setStopIfFalse, setStopOnError, setType, setType, setValidateOnChange`

    - ### Methods inherited from class com.smartgwt.client.core.DataClass

      `applyFactoryProperties, doAddHandler, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated`

    - ### Methods inherited from class com.smartgwt.client.core.JsObject

      `equals, getJsObj, hashCode, isCreated, setJavaScriptObject, setJsObj`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RequiredIfValidator

          public RequiredIfValidator()

    - #### RequiredIfValidator

          public RequiredIfValidator(RequiredIfFunction expression)

  - ### Method Detail

    - #### setExpression

          public void setExpression(RequiredIfFunction expression)

      Set the expression.
      Parameters:
        `expression` - the expression