From AgileApps Support Wiki

GearIcon.png > Customization > Objects > {object} > Validations

When a telephone number in your database has too many digits, it is bad information, and it slows you down. Clean data is essential to efficient performance. Data validation policies help to avoid simple mistakes, and assure that the data entering your system is sound.

Validation policies let you establish triggering actions, custom criteria, and error messages that are activated when data changes.

Validation policies compare field data using formulas you create - the result is a true or false value. When the return value is true, no action is taken. When false, the system displays the error message you specify.

Sample Validation

You might check that a telephone number entered in a data field has the correct number of digits. If the number of digits is not equal to 10, an error message is displayed, and the process stops until the correction is made.

While this is a simple example of data validation, you can easily create complex and powerful validation formulas with the available picklists.

Create the Validation Criteria

For the validation criteria, enter a Formula Expression. Available function types include date, logical, math, and text. The expression you develop to create a validation policy can contain multiple fields to validate, such as ensuring that phone numbers do not exceed 10 digits or names do not contain invalid characters.

Validate Incoming Object Data

  1. Click GearIcon.png > Customization > Objects > {object} > Validations
  2. Enter a Name for the validation policy
  3. To enable the policy, click the Enable checkbox
  4. Choose a Triggering Action. The data validation policy will be applied when one of these actions is applied to the record:
    • Add
    • Update
    • Delete
  5. Enter an Expression in the Validation Criteria section. To trigger a validation error, the expression must evaluate to false.
    Tip: It is often easier to create the expression that defines valid data. Put the entire expression in parentheses, and add not.
    For example: !(...valid-data expression here...), where "!" = "not".
    Learn more: Formula Expressions
    The field that must contain the condition. All fields contained in this object are listed.
    Choose an operator to build an expression
  6. Choose Function
    • Select the type of function, the specific function to use, and click the Insert button. The types of functions are:
      • Date Functions
      • Logical Functions
      • Math Functions
      • Text Functions
  7. Click the [Check Syntax] button to validate the expression.
  8. You can display an error message as follows:
  • To display the error message at a field level, you can provide the values in the Set field level display for error message section. You can select a maximum of 3 fields.
  • To display the error message at the top level, you can provide the values in the Error Message section.


Note: If you have provided values in both Set field level display for error message and Error Message sections, then the preference is always given to the field level display of error message.

Complex Validation and Data Formatting

It is often useful, for example, to allow a phone number to be entered in multiple formats, but store it in a common format. In such situations, you want to re-format the data that has been entered before validating it. Or you may have validation policies that depend on complex factors that aren't easily expressed, or that need to be reused in multiple forms.

For such situations, there are two options:

  • Field and Form scripts
A field script can indicate that data is invalid before data is saved.
A form 'On Save' script can surround a field that is missing data with a red box.
But they only work for data entered using that form. They don’t validate data entered using an API.
Tip: To use a script in multiple forms, upload it as a static resource
Static Resources#Accessing a JavaScript Resource from an Object Form
  • Add/update rules
An add/update rule checks the data before it is stored in the database.
It works for APIs as well as forms. But it doesn’t do as a good a job of highlighting the problems.
The rule can compare fields directly and invoke Java code that throws an exception.
Or the Java code can do the validation (allowing it to be reused elsewhere).
Learn more: Event Rules