Skip to main content
This page describes the available services for validating user input as well as the rule-based checks for payment and shipping methods. The services are not classic configuration nodes with their own structure, but are referenced in the respective form or rule definitions (e.g. in account, checkout or payment/shipping configurations).

addressCheck.* - Address validations

addressCheck.* contains checks for address fields (e.g. name, street, ZIP). The checks are stored in the respective field definitions under validations. The frontend displays the fields as configured and checks during input whether the entries are valid. This detects incorrect or invalid values early.

addressCheck.minLength - Minimum length

Checks the minimum length of the input in address fields.

Example configuration for (accounts.addressField.firstName)

Parameter overview

addressCheck.maxLength - Maximum length

Checks the maximum length of the input in address fields.

Example configuration for (accounts.addressField.firstName)

Parameter overview

addressCheck.numeric - Digits only

Checks whether the input in address fields consists only of digits.

Example configuration for (accounts.addressField.phone)

Parameter overview

addressCheck.country - Country code (ISO)

Checks whether the input or selection in country lists of the address data fields is a country code configured in the shop (ISO code: 2-letter, 3-letter or ISO number). The official ISO-3166-1 codes (alpha-2, alpha-3 and numeric) can be found on the website of the International Organization for Standardization (ISO): https://www.iso.org/iso-3166-country-codes.html

Example configuration for (accounts.addressField.country)

Parameter overview

addressCheck.zip - ZIP / postal code

Checks whether the input is a valid ZIP/postal code for the specified country. The ZIP rules come from the configuration. The associated country must be provided in the country field.

Example configuration for (accounts.addressField.zip)

Parameter overview

addressCheck.salutation - Salutation (code)

Checks whether the input is a valid salutation (code according to configuration).

Example configuration for (accounts.addressField.salutationCode)

Parameter overview

addressCheck.regex - Regular expression

Checks whether the input matches a regular expression.

Example configuration for (accounts.addressField.additionalInfo)

Parameter overview

addressCheck.phone - Phone number

Checks whether the input is a valid phone number. A valid number consists of digits (without length restriction) and optionally an international dialling code. The + in the dialling code is replaced by 00 after successful validation.

Example configuration for (accounts.addressField.phone)

Parameter overview

addressCheck.alpha - Letters only (A–Z)

Checks whether the input consists only of Latin letters (case-insensitive).

Example configuration for (accounts.addressField.additionalInfo)

Parameter overview

addressCheck.alphanum - Letters/digits (A–Z/0–9)

Checks whether the input consists only of Latin letters or digits (case-insensitive).

Example configuration for (accounts.addressField.additionalInfo)

Parameter overview

addressCheck.legalSigns - Allowed characters

Checks whether all characters in the input are contained in the allowed character set (case-sensitive).

Example configuration for (accounts.addressField.additionalInfo)

Parameter overview

addressCheck.illegalSigns - Forbidden characters

Opposite of legalSigns: the input must not contain any of the specified characters.

Example configuration for (accounts.addressField.phone)

Parameter overview

addressCheck.date - Date

Checks whether the input is a valid date and formats the input if needed.

Example configuration for (accounts.addressField.additionalInfo)

Parameter overview

addressCheck.allowedSelection - Selection (list element)

Validates whether the input matches a predefined selection value. For this, the dataId of a configuration from general.addressListElements is provided. Typical use: check whether an address is, for example, a “packstation” or “private address”.

Example configuration for (accounts.addressField.addressType)

Parameter overview


dataChecker.* - General field validations

dataChecker.* contains checks for general form fields that are not specific to an address. The checks are included in the respective field definition under validations. The frontend takes the specifications from the field definition and checks during input whether the entry is correct (e.g. length, format or forbidden characters).

dataChecker.minLength - Minimum length

Checks the minimum length of the inputs in form input fields.

Example configuration for (inquiry.form.catalogue.fields.firstName)

Parameter overview

dataChecker.maxLength - Maximum length

Checks the maximum length of the inputs in form input fields.

Example configuration for (inquiry.form.catalogue.fields.firstName)

Parameter overview

dataChecker.numeric - Digits only

Checks whether the input in form input fields consists only of digits.

Example configuration for (inquiry.form.catalogue.fields.phone)

Parameter overview

dataChecker.country - Country code (ISO)

Checks whether the input or selection in country lists of the form fields is a country code configured in the shop (ISO code: 2-letter, 3-letter or ISO number). The official ISO-3166-1 codes (alpha-2, alpha-3 and numeric) can be found on the website of the International Organization for Standardization (ISO): https://www.iso.org/iso-3166-country-codes.html

Example configuration for (inquiry.form.catalogue.fields.country)

Parameter overview

dataChecker.zip - ZIP / postal code

Checks whether the input is a valid ZIP/postal code for the specified country. The ZIP rules come from the configuration. The associated country must be provided in the country field.

Example configuration for (inquiry.form.catalogue.fields.zip)

Parameter overview

dataChecker.salutation - Salutation (code)

Checks whether the input is a valid salutation (code according to configuration).

Example configuration for (inquiry.form.catalogue.fields.salutation)

Parameter overview

dataChecker.regex - Regular expression

Checks whether the input matches a regular expression.

Example configuration for (inquiry.form.catalogue.fields.additionalInfo)

Parameter overview

dataChecker.email - Email address

Checks whether the input is a valid email address.

Example configuration for (inquiry.form.catalogue.fields.mail)

Parameter overview

dataChecker.alphaClass - Letters (min/different)

Ensures that the input contains at least minChars Latin letters (case-insensitive); optionally a minimum number of different letters.

Example configuration for (inquiry.form.catalogue.fields.additionalInfo)

Parameter overview

dataChecker.lowerAlphaClass - Lowercase letters

Like alphaClass, but only lowercase letters.

Example configuration for (inquiry.form.catalogue.fields.additionalInfo)

Parameter overview

dataChecker.upperAlphaClass - Uppercase letters

Like alphaClass, but only uppercase letters.

Example configuration for (inquiry.form.catalogue.fields.additionalInfo)

Parameter overview

dataChecker.digitClass - Digits

Like alphaClass, but for digits.

Example configuration for (inquiry.form.catalogue.fields.additionalInfo)

Parameter overview

dataChecker.specialClass - Special characters

Like alphaClass, but for special characters.

Example configuration for (inquiry.form.catalogue.fields.additionalInfo)

Parameter overview

dataChecker.sequenceOfIdenticalCharacters - Repeated characters (sequence)

Checks whether the same character occurs too often in a row.

Example configuration for (inquiry.form.catalogue.fields.additionalInfo)

Parameter overview

dataChecker.consecutiveNumbers - Consecutive numbers

Checks for ascending or descending number sequences (e.g. 12345 or 54321).

Example configuration for (inquiry.form.catalogue.fields.additionalInfo)

Parameter overview

dataChecker.consecutiveLetters - Consecutive letters

Checks for ascending or descending letter sequences (e.g. abcd or dcba).

Example configuration for (inquiry.form.catalogue.fields.additionalInfo)

Parameter overview

dataChecker.palindrome - Palindrome

Checks whether the input is a palindrome (identical forwards/backwards, e.g. “Otto”).

Example configuration for (inquiry.form.catalogue.fields.additionalInfo)

Parameter overview


paymentValidation.* - Payment method validation

paymentValidation.* contains rules that determine whether a payment method is allowed in the checkout. The check can depend, for example, on the country of the billing or shipping address, the customer type, the basket or the order value. These rules can be entered in the configuration of the respective payment method under validations. The frontend then only shows the payment methods that match, or prevents the selection when the conditions are not met. Here is the link to the corresponding configuration node payment: payment - Payment methods Evaluation in the frontend In the template, the configured rules are evaluated via the method $wsCheckout.isValidPayment(paymentId): it runs all services stored under validations and returns false as soon as at least one rule fails. Unavailable payment methods are therefore disabled or hidden in the selection.
For the currently selected payment method, the reasons for a failed check are available under $wsCheckout.problems.payment; the check field names the failed service.

paymentValidation.billCountry - Validation of the country (billing address) for payment methods

Checks whether the country of the billing address is allowed for a payment method according to an “allow/deny” list. Via the options you can define which countries the rule applies to and whether this list allows or forbids countries.

Example configuration

Parameter overview

paymentValidation.billPhone - Validation of the phone number

Checks whether a phone number is provided for the billing address (the field must not be empty).

Example configuration

There are no parameters for this service.

paymentValidation.billDateOfBirth - Validation of the date of birth

Checks whether a date of birth is provided for the billing address (the field must not be empty).

Example configuration

There are no parameters for this service.

paymentValidation.shippingCountry - Validation of the country (shipping address)

Checks whether the country of the shipping address is allowed according to an “allow/deny” list. Via the options you can define which countries the rule applies to and whether this list allows or forbids countries.

Example configuration

Parameter overview

paymentValidation.shippingMethod - Validation of the shipping method for payment methods

Checks whether the selected payment method may only be used with certain shipping methods.

Example configuration

Parameter overview

paymentValidation.accountType - Validation of the customer type for payment methods

Checks whether the selected payment method may only be used for certain customer types (guest, new customer or existing customer).

Example configuration

Parameter overview

How the customer type is determined
  • guest - the customer orders as a guest (without a user account).
  • newCustomer - a signed-in customer who fulfils the new-customer rules configured in accounts.account.newCustomerRules at login. A new registration during checkout always results in the type newCustomer, regardless of the rules.
  • customer - any other signed-in customer. If no new-customer rules are configured, signed-in customers are always considered customer.
The customer type checked here is not identical to the template variable $wsCheckout.accountType (guest / new / registered): the latter reports the sign-in method chosen in the checkout, while the validation distinguishes between new and existing customers (newCustomer / customer). In the order data, customer and newCustomer are both reported as registered.

paymentValidation.denyDifferingShippingAddress - Validation of differing shipping addresses for payment methods

Checks whether the billing and shipping addresses are identical.
The payment method is only allowed when no differing shipping address is used.

Example configuration

Parameter overview

paymentValidation.voucherDeny - Validation of voucher products for payment methods

Checks whether voucher products are in the basket. When voucher products are in the basket, this payment method is not allowed.

Example configuration

Parameter overview

paymentValidation.total - Validation of minimum / maximum order value for payment methods

Checks whether the payment method may only be used when a certain minimum or maximum order value is reached or not exceeded.

Example configuration

Parameter overview

If both a minimum and a maximum order value are to be checked at the same time, this check must be configured twice with different options.

paymentValidation.inventoryState - Validation of the inventory state for payment methods

Checks whether products with a specific stock level are in the basket. If a product in the basket has a status configured in deny, the payment method is not allowed.

Example configuration

Parameter overview

paymentValidation.productDependency - Validation of product dependencies for payment methods

Checks the products in the basket against the configuration checkout.productDependency.
A payment method is only offered when all referenced product dependencies are fulfilled.
This way you couple a payment method to basket properties without duplicating the check logic. The actual conditions (product fields, free fields, value comparisons) are maintained centrally in checkout.productDependency.

Example configuration

The “Pay by invoice” option should be blocked as soon as a personalised product (e.g. with an engraving) is in the basket. Because personalised items cannot be returned, they carry a higher payment-default risk. You define the condition “no engraving in the basket” in checkout.productDependency and reference it here afterwards.

Parameter overview

paymentValidation.userAgent - Validation of the user agent for payment methods

Checks whether a payment method is displayed based on the customer’s device or browser. Devices and browsers automatically transmit a technical identifier when a page is called up — the so-called user agent. Based on this identifier, it can be detected, for example, whether someone is using an iPhone, an iPad or a Mac. The terms entered in userAgents are checked against this identifier; a single match is enough. This allows a payment method to be enabled or blocked specifically for certain devices or browsers — for example, when Apple Pay should only be displayed to customers using an Apple device or a compatible browser.

Example configuration

Parameter overview


shippingMethodValidation.* - Shipping method validation

shippingMethodValidation.* contains rules that determine whether a shipping method is allowed in the checkout. The check can depend, for example, on the shipping country, the goods value, product types or the selected payment method. These rules can be entered in the configuration of the respective shipping method under validations. The frontend then only offers the shipping methods that match the current conditions. Evaluation in the frontend In the template, the configured rules are evaluated via the method $wsCheckout.isValidShippingMethod(shippingMethodId) (same pattern as for payment methods). The reasons for a disabled shipping method can additionally be output via $wsCheckout.getShippingMethodDisabledErrors(shippingMethodId).

shippingMethodValidation.shippingCountry - Validation of the country (shipping address)

Checks whether the country of the shipping address is allowed according to an “allow/deny” list. Via the options you can define which countries the rule applies to and whether this list allows or forbids countries.

Example configuration

Parameter overview

shippingMethodValidation.paymentMethod - Validation of the payment method for shipping methods

Checks whether a shipping method may only be used with certain payment methods.

Example configuration

Parameter overview

shippingMethodValidation.valueOfGoods - Validation of the minimum/maximum order value for shipping methods

Checks whether the shipping method may only be used when a certain minimum or maximum order value is reached or not exceeded.

Example configuration

Parameter overview

shippingMethodValidation.productType - Validation of the product type for shipping methods

Checks whether all products in the basket have a matching product type.

Example configuration

Parameter overview

shippingMethodValidation.productDependency - Validation of product dependencies for shipping methods

Checks the products in the basket against the configuration checkout.productDependency.

Example configuration

Parameter overview

shippingMethodValidation.expressCheckout - Validation of the express checkout for shipping methods

Checks whether a shipping method is allowed depending on the payment method used in the express checkout. The check applies to PayPal Express as well as Apple Pay and Google Pay Express (PayPal Commerce Platform).

Example configuration

The shipping method should not be selectable if the customer runs the ordering process as a PayPal Express Checkout:

Parameter overview

If the check fails, the validation returns the error expressCheckoutDenied or expressCheckoutNotAllowed; in the frontend it can be output via $wsCheckout.getShippingMethodDisabledErrors().