Difference between revisions of "Validations"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 40: Line 40:
#In the '''Set field level display for error message''' section, choose the fields for which you want to display the error messages at a field level. You can select a maximum of 3 fields.  
#In the '''Set field level display for error message''' section, choose the fields for which you want to display the error messages at a field level. You can select a maximum of 3 fields.  
#Enter the Error Message that you want to show if the data causes an error condition in the validation policy. If you have set an error message in both '''Set field level display for error message''' and '''Error Message''' sections, the message entered in the '''Set field level display for error message''' section is displayed and the message entered in the '''Error Message''' section is ignored..
#Enter the Error Message that you want to show if the data causes an error condition in the validation policy. If you have set an error message in both '''Set field level display for error message''' and '''Error Message''' sections, the message entered in the '''Set field level display for error message''' section is displayed and the message entered in the '''Error Message''' section is ignored..
{{Note|Message entered in the '''Set field level display for error message''' section is displayed at the field level; whereas, the message entered in the '''Error Message''' section is shown at the top level.}}
{{Note|The message entered in the '''Error Message''' section is shown at the top level.}}


== Complex Validation and Data Formatting ==
== Complex Validation and Data Formatting ==

Revision as of 07:17, 12 June 2020

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. Function types available 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
    Field
    The field that must contain the condition. All fields contained in this object are listed.
    Operator
    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. In the Set field level display for error message section, choose the fields for which you want to display the error messages at a field level. You can select a maximum of 3 fields.
  9. Enter the Error Message that you want to show if the data causes an error condition in the validation policy. If you have set an error message in both Set field level display for error message and Error Message sections, the message entered in the Set field level display for error message section is displayed and the message entered in the Error Message section is ignored..

Notepad.png

Note: The message entered in the Error Message section is shown at the top level.

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