> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.qikify.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Checkout Validations


# 1. Custom Rules

You can set validation rules to ensure order meets specific conditions based on your cart, delivery information, and personal details.  

![](https://storage.crisp.chat/users/helpdesk/website/-/3/3/f/6/33f605886cba4e00/image_1lxp4oo.png)


![](https://storage.crisp.chat/users/helpdesk/website/33f605886cba4e00/image_bap9w8.png)

1. **Step 1:** Add your condition for the Custom Rules at **Check if...** section with these options to set it up:
* **In / Not in:** Browse your product or add a word.
* **Greater than / Greater than equal:** Type a number.
* **Lower than / Lower than equal:** Type a number.
* **Is:** Add true / false value.
* **Contains / Not contains:** Type a word or number.
* **Match regular expression / Not match regular expression:** Type the Regex rule. It should start with **/** and end with **/**. For example: **/([A-Z])\w+/**
* **Max length / Min length:** Type a number.
* **Starts with:** Type a word or number.

2. **Step 2:** Add your action if the condition is reached.
* **Actions:** **Block checkout** or **Allow checkout** if the condition is met.
* **Error message:**
* **Set up position of the error messages:** The message will display above the position option you select.
* **Error message (default):** Enter the error message in the default language here.
* **Translate to other languages:** Enter the error message in other languages if your store has multiple languages.

3. **Step 3**: Choose to allow customer to complete the checkout, if the app fails or experiences a problem.
4. **Step 4**: Choose the Rule Status with **Active** **/ Deactive / Testing** with a specific email.
  
# 2. Missing Street/House number

Use this validation type to ensure **Address Line 1** **or/and** **Address Line 2** is not blank and must contain at least one number to continue checkout.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/3/f/6/33f605886cba4e00/image_11xj20u.png)
![](https://storage.crisp.chat/users/helpdesk/website/33f605886cba4e00/image_122j05h.png)

1. **Step 1**: Choose to apply this validation rule for All Countries or some Specific countries.
2. **Step 2**: Type an error message to show it below the Address Line field when the address line 1 is empty or not includes a number
* **Error message (default):** Enter the error message in the default language here.
* **Translate to other languages:** Enter the error message in other languages if your store has multiple languages.
    
3. **Step 3**: Choose to allow customer to complete the checkout, if the app fails or experiences a problem.
4. **Step 4**: Choose the Rule Status with **Active** **/ Deactive / Testing** with a specific email
  
# 3. Prevent PO Box Address

This validation rule helps you prevent customers from moving to the next step, if Address Line 1 or Line 2 is a PO Box address.  

![](https://storage.crisp.chat/users/helpdesk/website/-/3/3/f/6/33f605886cba4e00/image_18kwqii.png)


1. **Step 1**: Choose to apply this validation rule for **All Countries** or some **Specific countries**.
2. **Step 2**: Type an error message to show it below the field when the address line 1 or line 2 includes a PO box.
* **Error message (default):** Enter the error message in the default language here.
* **Translate to other languages:** Enter the error message in other languages if your store has multiple languages.

3. **Step 3**: Choose to allow customer to complete the checkout, if the app fails or experiences a problem.
4. **Step 4**: Choose the Rule Status with **Active** **/ Deactive / Testing** with a specific email
  
# 4. Minimum/Maximum Characters

You can use this validation type to prevent customers from moving to the next step, if the number of characters allowed in the form input react limitation.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/3/f/6/33f605886cba4e00/image_1264vqa.png)

1. **Step 1:** Add your condition for the rule at **Check if...** section with the option to set it up:
* **Max length / Min length:** Type a number.

2. **Step 2:** Add your action if the condition is reached.
* **Actions:** **Block checkout** or **Allow checkout** if the condition is met.
* **Error message:**
* **Set up position of the error messages:** The message will display above the position option you select.
* **Error message (default):** Enter the error message in the default language here.
* **Translate to other languages:** Enter the error message in other languages if your store has multiple languages.

3. **Step 3**: Choose to allow customer to complete the checkout, if the app fails or experiences a problem.
4. **Step 4** Choose the Rule Status with **Active / Deactive / Testing** with a specific email
  
# 5. Regular Expression Matching Rule

Use this validation type to prevent customers from moving to the next step, if the form input fields match or do not match the regular expression.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/3/f/6/33f605886cba4e00/image_1mvuqbp.png) 

1. **Step 1:** Add your condition for the rules at **Check if...** section with the option to set it up:
* **Match regular expression / Not match regular expression:** Type the Regex rule. It should start with **/** and end with **/**.
* For example: email regex should be **/\w+@\w+.\w+/**

2. **Step 2:** Add your action if the condition is reached.
* **Actions:** **Block checkout** or **Allow checkout** if the condition is met.
* **Error message:**
* **Set up position of the error messages:** The message will display above the position option you select.
* **Error message (default):** Enter the error message in the default language here.
* **Translate to other languages:** Enter the error message in other languages if your store has multiple languages.

3. **Step 3**: Choose to allow customer to complete the checkout, if the app fails or experiences a problem.
4. **Step 4**: Choose the Rule Status with **Active** **/ Deactive / Testing** with a specific email
  
# 6. Company Missing VAT Number

Add this rule to prevent customers from completing the checkout process if the company field does not contain a VAT number.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/3/f/6/33f605886cba4e00/image_mknbh6.png)

   
1. **Step 1**: Choose to apply this validation rule for **All Countries** or some **Specific countries**.
2. **Step 2**: Type an error message to show it below the VAT field when the VAT number is missing
* **Error message (default):** Enter the error message in the default language here.
* **Translate to other languages:** Enter the error message in other languages if your store has multiple languages.
    
3. **Step 3**: Choose to allow customer to complete the checkout, if the app fails or experiences a problem.
4. **Step 4**: Choose the Rule Status with **Active** **/ Deactive / Testing** with a specific email
  
# 7. Address Validation
*Coming soon...*

| If you need any assistance or request any other rules, please contact [our support team](https://support.qikify.com/portal/en/newticket) or send us a message with the live chat so we can help you.