Home/Documentation/Core Package

Core Examples

Open Live Vanilla Showcase · Simple form · Performance form

Nested profile

class ProfilePolicy implements ValidationPolicy {
  addValidations(helper: ValidatorHelper): Validator[] {
    return [
      helper.validateFor('profile.firstName').isRequired('First name is required'),
      helper.validateFor('profile.lastName').isRequired('Last name is required'),
      helper.validateFor('profile.email')
        .isRequired('Email is required')
        .isEmail('Enter a valid email address')
    ];
  }
}

Conditional billing address

class BillingPolicy implements ValidationPolicy {
  addValidations(helper: ValidatorHelper): Validator[] {
    return [
      helper.validateFor('billing.street', '!billing.sameAsShipping').isRequired('Street is required'),
      helper.validateFor('billing.city', '!billing.sameAsShipping').isRequired('City is required'),
      helper.validateFor('billing.postalCode', '!billing.sameAsShipping').isZipCode('Enter a ZIP code')
    ];
  }
}

Generated fields

function generatedPolicy(fields: Array<{ path: string; label: string }>): ValidationPolicy {
  return {
    addValidations(helper) {
      return fields.map((field) =>
        helper.validateFor(field.path).isRequired(`${field.label} is required`)
      );
    }
  };
}

Continue in the live platform

Open Vanilla JS ShowcaseRun the same Core policies with framework-free TypeScript forms →Open PortalLaunch documentation and every showcase from one place →