Validation Conditions - Understanding Date Comparisons

Introduction

  • Validation conditions are step conditions. Note that often 'has not' will need to be used as the connector.
  • Equals operator is same as form field - text was. All other operators are new.
  • What is Form field value in app?
    • The value of the element selected by the form field condition selector


Element Value


Selector

What is Condition form field?

  • the value of the operand as seen on the condition UI


Operand Value

  • Most of the examples here are using 'has' as the connector, but there are some examples with 'has not' as the connector.

Operators by example:

  • Contains:
    • Means: Checks if the input string contains the specified operand.
    • Use case: End user should see the step if they filled the form field with a value that includes "World".
    • Example 1:
      • Form field value in app = Hello World
      • Condition form field = World
      • Hello World contains World, so the condition is ✅ True
    • Example 2:
      • Form field value in app = Hello
      • Condition form field = World
      • Hello does not contain World, so the condition is ❌ False
  • Empty:
    • Means: Checks if the input string is empty after trimming whitespace.
    • Use case: End user should see the step if they didnt fill the form field.
    • Example 1:
      • Form field value in app = (*note: with or without spaces*)
      • The input string is empty, so the condition is ✅ True
    • Example 2:
      • Form field value in app = Hello
      • The input string is not empty, so the condition is ❌ False
  • Ends with:
    • Means: Checks if the input string ends with the specified operand.
    • Use case: End user should see the step if they filled the form field with a value with the suffix "World".
    • Example 1:
      • Form field value in app = Hello World
      • Condition form field = World
      • Hello World ends with World, so the condition is ✅ True
    • Example 2:
      • Form field value in app = World Hello
      • Condition form field = World
      • World Hello does not end with Hello, so the condition is ❌ False
  • Equals (note: this is the same as form field - text was):
    • Means: Checks if the input string matches the specified operand exactly, or checks if the input string contains the specified operand as a substring if the exact match option is not selected. If the operand is enclosed in square brackets, it is treated as a regular expression.
    • Use case: End user should see the step if they filled the form field with the value "Hello World" exactly.
    • Example 1:
      • Form field value in app = Hello World
      • Condition form field = Hello World
      • Exact Match = enabled (true)
      • Hello World equals Hello World exactly, and exact match is enabled, so the condition is ✅ True
    • Example 2:
      • Form field value in app = Hello
      • Condition form field =Hello World
      • Exact Match = enabled (true)
      • Hello World does not equal Hello, so the condition is ❌ False
    • Use case 1: End user should see the step if they filled the form field with the value "World".
    • Example 1:
      • Form field value in app = Hello World
      • Condition form field = World
      • Exact Match = disabled (false)
      • Hello World contains World as a substring, and exact match is false, so the condition is ✅ True
    • Use case 2: End user should see the step if they filled the form field with the value that starts with H.
    • Example 1:
      • Form field value in app = Hello World
      • Condition form field = [H.*]
      • Exact Match = disabled (false)
      • Hello World matches the regular expression H.*, so the condition is ✅ True
  • Exact length:
    • Means: Checks if the length of the input string is equal to the specified operand.
    • Use case: End user should see the step if they filled the form field with a value with a length 5 of characters.
    • Example 1:
      • Form field value in app = Hello
      • Condition form field = 5
      • The length of Hello is 5, which is equal to 5, so the condition is ✅ True
    • Example 2:
      • Form field value in app = Hello World
      • Condition form field = 5
      • The length of Hello World is 11, which is not equal to 5, so the condition is ❌ False
  • Greater than:
    • Means: Checks if the numeric value of the input string is greater than the specified operand.
    • Use case: End user should see the step if they filled the form field with a value larger than 5.
    • Example 1:
      • Form field value in app = 10
      • Condition form field = 5
      • 10 is greater than 5, so the condition is ✅ True
    • Example 2:
      • Form field value in app = 4
      • Condition form field = 5
      • 4 is not greater than 5, so the condition is ❌ False
  • Input Format:
    • Means: Checks various constraints on the input string.
    • At least one letter:
      • Means: Checks if the input string contains at least one letter.
      • Use case: End user should see the step if they filled the form field with a value that includes at least one letter.
      • Example 1:
        • Form field value in app = 123abc
        • 123abc includes at least one letter, so the condition is ✅ True
      • Example 2:
        • Form field value in app = 123456
        • 123456 does not include any letters, so the condition is ❌ False
      • Use case 1: End user should see the step if they filled the form field with a value that doesn't include at least one letter. (note: in that case we will use "has not" for the condition)
      • Example 1:
        • Form field value in app = 123abc
        • 123abc includes at least one letter, and we used 'has not', so the condition is ❌ False
      • Example 2:
        • Form field value in app = 123456
        • 123456 does not include any letters, and we used 'has not', so the condition is ✅ True
    • At least one number:
      • Means: Checks if the input string contains at least one digit.
      • Use case: End user should see the step if they filled the form field with a value that includes at least one number.
      • Example 1:
        • Form field value in app = abc123
        • abc123 includes at least one number, so the condition is ✅ True
      • Example 2:
        • Form field value in app = abcdef
        • abcdef does not include any numbers, so the condition is ❌ False
    • At least one special character:
      • Means: Checks if the input string contains at least one special character. Special characters include !, @, #, $, %, ^, &, *, (, ), _, -, +, =, {, }, [, ], :, ;, ', <, >, ?, /, ., ~, `, |, , and other non-alphanumeric characters.
      • Use case: End user should see the step if they filled the form field with a value that includes at least one special character.
      • Example 1:
        • Form field value in app = abc!23
        • abc!23 includes at least one special character (!), so the condition is ✅ True
      • Example 2:
        • Form field value in app = abcdef
        • abcdef does not include any special characters, so the condition is ❌ False
    • Email format:
      • Means: Checks if the input string matches a standard email format.
      • Use case: End user should see the step if they filled the form field with a value thats a valid email.
      • Example 1:
        • Form field value in app = test@example.com
        • test@example.com matches a standard email format, so the condition is ✅ True
      • Example 2:
        • Form field value in app = invalid_email
        • invalid_email does not match a standard email format, so the condition is ❌ False
      • Use case 1: End user should see the step if they filled the form field with a value thats invalid email. (note: in that case we will use "has not" for the condition)
      • Example 1.1:
        • Form field value in app = test@example.com
        • test@example.com matches a standard email format, and we used "has not", so the condition is ❌ False
      • Example 2.1:
        • Form field value in app = invalid_email
        • invalid_email does not match a standard email format, and we used "has not", so the condition is ✅ True
    • Letters and numbers only:
      • Means: Checks if the input string contains only letters and numbers.
      • Use case: End user should see the step if they filled the form field with a value that includes at least one special character.
      • Example 1:
        • Form field value in app = abc123
        • abc123 includes only letters and numbers, so the condition is ✅ True
      • Example 2:
        • Form field value in app = abc!23
        • abc!23 includes not only letters and numbers, but also a special character, so the condition is ❌ False
    • Letters and numbers only:
      • Means: Checks if the input string contains only letters and numbers.
      • Use case: End user should see the step if they filled the form field with a value that includes only number and letters.
      • Example 1:
        • Form field value in app = abc123
        • abc123 includes only letters and numbers, so the condition is ✅ True
      • Example 2:
        • Form field value in app = abc!23
        • abc!23 includes not only letters and numbers, but also a special character, so the condition is ❌ False
    • No numbers:
      • Means: Checks if the input string does not contain any digits.
      • Use case: End user should see the step if they filled the form field with a value that doesn't include numbers.
      • Example 1:
        • Form field value in app = hello
        • hello does not contain any numbers, so the condition is ✅ True
      • Example 2:
        • Form field value in app = hello123
        • hello123 contains numbers, so the condition is ❌ False
    • No special characters:
      • Means: Checks if the input string does not contain any special characters (except for whitespace). It means it allows only letters, numbers and whitespaces.
      • Use case: End user should see the step if they filled the form field with a value that doesn't include special characters.
      • Example 1:
        • Form field value in app = hello world
        • hello world does not contain any special characters, so the condition is ✅ True
      • Example 2:
        • Form field value in app = hello!world
        • hello!world contains a special character (the '!'), so the condition is ❌ False
    • No spaces:
      • Means: Checks if the input string does not contain any whitespace characters.
      • Use case: End user should see the step if they filled the form field with a value that doesn't include spaces.
      • Example 1:
        • Form field value in app = hello
        • hello does not contain any spaces, so the condition is ✅ True
      • Example 2:
        • Form field value in app = hello world
        • hello world contains a space, so the condition is ❌ False
    • Only letters allowed:
      • Means: Checks if the input string contains only letters.
      • Use case: End user should see the step if they filled the form field with a value that includes only letters.
      • Example 1:
        • Form field value in app = abcdef
        • abcdef includes only letters, so the condition is ✅ True
      • Example 2:
        • Form field value in app = abc123
        • abc123 includes not only letters, but also numbers, so the condition is ❌ False
    • Only numbers allowed:
      • Means: Checks if the input string contains only digits (0-9).
      • Use case: End user should see the step if they filled the form field with a value that includes only digits.
      • Example 1:
        • Form field value in app = 12345
        • 12345 includes only numbers, so the condition is ✅ True
      • Example 2:
        • Form field value in app = 123abc
        • 123abc includes not only numbers, but also letters, so the condition is ❌ False
    • Password strength:
      • Means: Checks if the input string meets strong password criteria (at least one lowercase, uppercase, number, special character, and minimum length 8).
      • Use case: End user should see the step if they filled the form field with a value that matches a strong password.
      • Example 1:
        • Form field value in app = P@ssw0rd
        • P@ssw0rd meets strong password criteria, so the condition is ✅ True
      • Example 2:
        • Form field value in app = weakpass
        • weakpass does not meet strong password criteria, so the condition is ❌ False
    • URL format:
      • Means: Checks if the input string matches a basic URL format.
      • Use case: End user should see the step if they filled the form field with a value that matches a URL format.
      • Example 1:
      • Example 2:
        • Form field value in app = invalid_url
        • invalid_url does not match a basic URL format, so the condition is ❌ False
  • Less than:
    • Means: Checks if the numeric value of the input string is less than the specified operand.
    • Use case: End user should see the step if they filled the form field with a value that is less than 10.
    • Example 1:
      • Form field value in app = 5
      • Condition form field = 10
      • 5 is less than 10, so the condition is ✅ True
    • Example 2:
      • Form field value in app = 10
      • Condition form field = 10
      • 10 is not less than 10, so the condition is ❌ False
  • Maximum length:
    • Means: Checks if the length of the input string is less than or equal to the specified operand.
    • Use case: End user should see the step if they filled the form field with a value with length up to 5 characters.
    • Example 1:
      • Form field value in app = Hello
      • Condition form field = 5
      • The length of Hello is 5, which is less than or equal to 5, so the condition is ✅ True
    • Example 2:
      • Form field value in app = Hello World
      • Condition form field = 5
      • The length of Hello World is 11, which is greater than 5, so the condition is ❌ False
  • Minimum length:
    • Means: Checks if the length of the input string is greater than or equal to the specified operand.
    • Use case: End user should see the step if they filled the form field with a value with length of atleast 5 characters.
    • Example 1:
      • Form field value in app = Hello World
      • Condition form field = 5
      • The length of Hello World is 11, which is greater than or equal to 5, so the condition is ✅ True
    • Example 2:
      • Form field value in app = Hi
      • Condition form field = 5
      • The length of Hi is 2, which is less than 5, so the condition is ❌ False
  • Range:
    • Means: Checks if the numeric value of the input string is between two specified operands (exclusive).
    • Use case: End user should see the step if they filled the form field with a value between 5 and 10.
    • Example 1:
      • Form field value in app = 7
      • Condition form fields = 5;10
      • 7 is between 5 and 10, so the condition is ✅ True
    • Example 2:
      • Form field value in app = 15
      • Condition form fields = 5;10
      • 15 is not between 5 and 10, so the condition is ❌ False
  • Starts with:
    • Means: Checks if the input string starts with the specified operand.
    • Use case: End user should see the step if they filled the form field with a value that its prefix is "Hello"
    • Example 1:
      • Form field value in app = Hello World
      • Condition form field = Hello
      • Hello World starts with Hello, so the condition is ✅ True
    • Example 2:
      • Form field value in app = World Hello
      • Condition form field = Hello
      • World Hello does not start with Hello, so the condition is ❌ False