Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This field includes a validation script that compares the value provided by a user against a regular expression to determine if the email address is in an acceptable format. Within the context of the sample application, this requirement is defined in "BPR4: Enforce Email Address Format" in the Developer Guide and the implementation is described in "Data Quality Design" in the Developer Guide.

It follows this process:

  • Uses a geRecord.GetValue("Email").ToString <> " " statement to retrieve the value of the Email field from the current record's GE and determine if the Email field is blank. If blank, no further validation is applied.
  • If the Email value is not blank, the script defines a regular expression for an e-mail address format and matches the Email value from the record against the regular expression.
  • If the Email value matches the regular expression, the value passes the validation test and the script calls oResult.Success = True.
  • If the Email value does not match the regular expression, the value fails the validation test. The script calls oResult.Success = False and oResult.Message to display an error message to the user that the value entered is not a valid Email address.
  • Note that the sample script also includes code to handle situations where the script fails for unexpected reasons.

The full text of the script appears below:

Code Block
languagesql
 ' DEMO VALIDATION SCRIPT FOR MOTOR LOANER VEHICLE TRACKING SYSTEM

...

 '
----------------------------------------------------------------------------------------------------------------------

...



' This script enforces the business rule that only allows for

...

 
' valid email addresses to be entered for Associates.

...


'

...


'Field Validation Scripts can access this record's properties via geRecord.

...


'The Results of a script are returned via oResult.Success = [True

...

|False]

...


'

...


'This sample script uses .Net's RegularExpression class to compare

...


'the entered email address against a regular expression.

...



Try
     'Only validate the Email field if it is not blank since the Email field is not

...

 required
      If geRecord.GetValue("Email").ToString <> ""

...

 Then
                  Dim emailRegEx As System.String = "^(([A-Za-z0-9]+_+)

...

|([A-Za-z0-9]+\-+)

...

|([A-Za-z0-9]+\.+)

...

|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)

...

|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$"

...


                  Dim myRegEx As New System.Text.RegularExpressions.Regex(emailRegEx)

...


                  Dim myMatch As System.Text.RegularExpressions.Match

...


                  myMatch = myRegEx.Match(geRecord.GetValue("Email").ToString)

...


                  If myMatch.Success

...

 Then
                          oResult.Success =

...

 True
                  Else
                         'email did not pass regular expression test
                         oResult.Success = False
                         oResult.Message = geRecord.GetValue("Email").ToString &

...

 _                                                                                                       "
                                 is not a valid email address. Please reenter the Associate's email."
                  End If
      Else
                  'nothing to validate, return true         
                  oResult.Success = True
      End If
Catch
      'Validation Script Failed
      oResult.Success = False
      oResult.Message = "The Email Field Validation script failed unexpectedly. " & _
                                 "Check the script for logical errors."
End Try
Note

The Sample Application also contains a validation script

...

that performs the same function for the Email field in the Customers entity.