in src/app/customers/detail/payroll/form/validator/account-unique.validator.ts [23:46]
export function accountUnique(group: FormGroup): ValidationErrors | null {
const mainAccountNumber: string = group.controls.mainAccountNumber.value;
const payrollAllocations: PayrollAllocation[] = group.controls.payrollAllocations.value;
if (isEmptyInputValue(mainAccountNumber)) {
return;
}
const numbers = payrollAllocations
.filter(allocation => allocation.accountNumber.length > 0)
.map(allocation => allocation.accountNumber);
const set = new Set();
numbers.forEach(number => set.add(number));
if (numbers.indexOf(mainAccountNumber) > -1 || set.size !== numbers.length) {
return {
accountUnique: true
};
}
return null;
}