execute(modelValue, param, config) {
    const ctor = /** @type {typeof Validator} */ (this.constructor);
    if (!ctor.validatorName) {
      throw new Error(
        'A validator needs to have a name! Please set it via "static get validatorName() { return \'IsCat\'; }"',
      );
    }
    return true;
  }
The function that returns a validity outcome. When we need to show feedback,
it should return true, otherwise false. So when an error\info|warning|success message
needs to be shown, return true. For async Validators, the function can return a Promise.
It's also possible to return an enum. Let's say that a phone number can have multiple
states: 'invalid-country-code' | 'too-long' | 'too-short'
Those states can be retrieved in the getMessage
@param {any} modelValue
@param {ValidatorParam} [param]
@param {ValidatorConfig} [config]
@returns {ValidatorOutcome|Promise<ValidatorOutcome>}