Browse Source

create unique validator

pull/16379/head
Barış Can Yılmaz 3 years ago
parent
commit
4fb57de493
  1. 20
      npm/ng-packs/packages/core/src/lib/validators/unique-character.validator.ts

20
npm/ng-packs/packages/core/src/lib/validators/unique-character.validator.ts

@ -0,0 +1,20 @@
import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';
import { isNullOrEmpty } from '../utils';
export interface UniqueCharacterError {
uniqueCharacter: true;
}
export function validateUniqueCharacter(): ValidatorFn {
return (control: AbstractControl): UniqueCharacterError | null => {
if (isNullOrEmpty(control.value)) return null;
return isUnqiueCharacter(control.value) ? null : { uniqueCharacter: true };
};
}
function isUnqiueCharacter(value: string): boolean {
const set = new Set<string>(value.split(''));
return set.size == value.length;
}
Loading…
Cancel
Save