Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

import {
FormGroup,
ValidationErrors,
ValidatorFn,
Validators
} from '@angular/forms';

export const atLeastOne = (validator: ValidatorFn) => (
group: FormGroup
): ValidationErrors | null => {
const hasAtLeastOne =
group &&
group.controls &&
Object.keys(group.controls).some(k => !validator(group.controls[k]));

// validator(group.controls[k]) --> null if no error --> false --> true
// --> { required: true } if error --> true --> false
// ! in front of the whole thing

return hasAtLeastOne
? null
: {
atLeastOne: true
};
};