Home/Documentation/Angular Package

Angular Quick Start

Policy

export class AccountPolicy implements ValidationPolicy {
  addValidations(helper: ValidatorHelper): Validator[] {
    return [
      helper.validateFor('email')
        .isRequired('Email is required')
        .isEmail('Enter a valid email address')
    ];
  }
}

Register

constructor(private validation: ValidationProviderService) {
  this.validation.register('Account', new AccountPolicy());
  this.validation.registerFormGroupPolicy('accountForm', 'Account');
}

Template

<form #accountForm="ngForm">
  <label for="email">Email</label>
  <input
    id="email"
    name="email"
    [(ngModel)]="model.email"
    policyValidator
    [validateModel]="'form.email'"
    [actualModel]="model"
    [withPolicy]="'Account'"
    groupName="accountForm"
  />
  <policy-validation-summary [model]="model"></policy-validation-summary>
</form>

Submit

submit(): void {
  this.validation.validateAll(this.model, 'Account').subscribe((result) => {
    if (result.isValid) this.save(this.model);
  });
}

Continue in the live platform

Open Angular ShowcaseSee the concepts running in a real application →