You are here: Reference > Rule types > Edit Validate rules > More about Edit Validate rules

More about Edit Validate rules

  1. About 
  2. New 
  3. Java 
  4. History 
  5. More... 

Cannot validate empty input fields

If an input field is blank, the edit validate rule associated with the property is not called. You can't create an edit validate rule that checks whether a value is empty.

Comparing edit validate and constraints rules

Constraints rules provide a useful alternative to edit validate rules, especially for properties that may be updated both by computations and by direct user input.

Comparing edit validate rules and edit input rules

Do not confuse edit validate processing with edit input processing:

The property value (stored in the variable theValue) that is input to edit validate processing may not be what the user typed, if an edit input transformation is associated with the property.

Use of regular expressions

You can create edit validate rules that use regular expression pattern matching to validate user inputs. See PDN article How to use regular expressions to validate user input.

Client-side validation

The standard text file rule named webwb.pega_validators.js includes JavaScript functions that exactly emulate standard edit validate rules. When enabled, these JavaScript functions are incorporated into user forms and flow actions, supporting client-side validation of user inputs, before a user submits the form.

You can build an edit validate rule in your application RuleSet that can perform the same function. JavaScript skills are required.

  1. Create and test your edit validate rule.
  2. Associate the edit validate rule with a property.
    1. Open the rule form of a property.
    2. On the Advanced tab, under the Use Validate field, select the edit validate rule.
  3. Create and test a JavaScript function that performs the same validation test as the edit validate rule, and has the same name. Follow the structure used in the standard text file rule webwb.pega_validators.js. For example, if you have associated the property with a IsNotFutureDateTest validate rule that checks if the date falls in the future, you need to create a JavaScript function by the same name such as:

    /* IsNotFutureDateTest */

    var ruleEditValidate_notFutureDateTest = new validation_ValidationType("notfuturedatetest", ruleEditValidate_isNotFutureDate);

    ruleEditValidate_notFutureDateTest.addEventFunction("onchange", ruleEditValidate_isNotFutureDate);

  4. Save the JavaScript in a text file rule in your application RuleSet.
  5. Enable client-side validation by clicking the Enable Client Side Validation check box on the Advanced tab of the harness form. For best results use JSP tags and the SmartFrames format for the harness.
  6. Add the text file rule containing the JavaScript function on the Scripts and Styles tab of each harness that can present the field as an input field, that is, in read-write mode.
  7. Test your rule.

 

 

Message rule

When an input value fails validation by an edit validate rule, the system adds the message rule named PropertyInfo-EditValidate to the property. The default text is

Invalid value specified for {1}.

where {1} identifies the property.

Viewing the Java code of a rule

Click Actions > View Java to view the generated Java of a rule. You can use the Java code to debug your application or to examine how rules are implemented.