angular-reactive-validation
Version:
Reactive Forms validation shouldn't require the developer to write lots of HTML to show validation messages. This library makes it easy.
20 lines • 2.72 kB
JavaScript
export class ValidationError {
constructor(control, key, errorObject) {
this.control = control;
this.key = key;
this.errorObject = errorObject;
}
static fromFirstError(control) {
if (!control.errors) {
return undefined;
}
return new ValidationError(control, Object.keys(control.errors)[0], control.errors[Object.keys(control.errors)[0]]);
}
hasMessage() {
return !!this.getMessage();
}
getMessage() {
return this.errorObject['message'];
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItcmVhY3RpdmUtdmFsaWRhdGlvbi9zcmMvbGliL3ZhbGlkYXRpb24tZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGVBQWU7SUFLMUIsWUFBWSxPQUEyQixFQUFFLEdBQVcsRUFBRSxXQUE2QjtRQUNqRixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQTJCO1FBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8sSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RILENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25FcnJvciB7XG4gIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAga2V5OiBzdHJpbmc7XG4gIGVycm9yT2JqZWN0OiBWYWxpZGF0aW9uRXJyb3JzO1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCwga2V5OiBzdHJpbmcsIGVycm9yT2JqZWN0OiBWYWxpZGF0aW9uRXJyb3JzKSB7XG4gICAgdGhpcy5jb250cm9sID0gY29udHJvbDtcbiAgICB0aGlzLmtleSA9IGtleTtcbiAgICB0aGlzLmVycm9yT2JqZWN0ID0gZXJyb3JPYmplY3Q7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpcnN0RXJyb3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9yIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWNvbnRyb2wuZXJyb3JzKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgVmFsaWRhdGlvbkVycm9yKGNvbnRyb2wsIE9iamVjdC5rZXlzKGNvbnRyb2wuZXJyb3JzKVswXSwgY29udHJvbC5lcnJvcnNbT2JqZWN0LmtleXMoY29udHJvbC5lcnJvcnMpWzBdXSk7XG4gIH1cblxuICBoYXNNZXNzYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0TWVzc2FnZSgpO1xuICB9XG5cbiAgZ2V0TWVzc2FnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5lcnJvck9iamVjdFsnbWVzc2FnZSddO1xuICB9XG59XG4iXX0=