mirror of https://github.com/abpframework/abp.git
1 changed files with 20 additions and 0 deletions
@ -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…
Reference in new issue