angular2-json-schema-form
Version:
Angular 2 JSON Schema Form builder
29 lines (28 loc) • 1.77 kB
TypeScript
import { AbstractControl } from '@angular/forms';
import { SchemaPrimitiveType, PlainObject, IValidatorFn, AsyncIValidatorFn } from './validator.functions';
export declare class JsonValidators {
static required(input: AbstractControl): PlainObject;
static required(input?: boolean): IValidatorFn;
static type(type: SchemaPrimitiveType | SchemaPrimitiveType[]): IValidatorFn;
static enum(enumList: any[]): IValidatorFn;
static minLength(requiredLength: number): IValidatorFn;
static maxLength(requiredLength: number): IValidatorFn;
static pattern(pattern: string, wholeString?: boolean): IValidatorFn;
static format(format: 'date-time' | 'email' | 'hostname' | 'ipv4' | 'ipv6' | 'uri' | 'url' | 'color'): IValidatorFn;
static minimum(minimum: number, exclusiveMinimum?: boolean): IValidatorFn;
static maximum(maximum: number, exclusiveMaximum?: boolean): IValidatorFn;
static multipleOf(multipleOf: number): IValidatorFn;
static minProperties(minProperties: number): IValidatorFn;
static maxProperties(maxProperties: number): IValidatorFn;
static dependencies(dependencies: any): IValidatorFn;
static minItems(minItems: number): IValidatorFn;
static maxItems(maxItems: number): IValidatorFn;
static uniqueItems(unique?: boolean): IValidatorFn;
static nullValidator(c: AbstractControl): PlainObject;
static composeAnyOf(validators: IValidatorFn[]): IValidatorFn;
static composeOneOf(validators: IValidatorFn[]): IValidatorFn;
static composeAllOf(validators: IValidatorFn[]): IValidatorFn;
static composeNot(validator: IValidatorFn): IValidatorFn;
static compose(validators: IValidatorFn[]): IValidatorFn;
static composeAsync(validators: AsyncIValidatorFn[]): AsyncIValidatorFn;
}