export function katakanaValidate(control: AbstractControl):
{ [key: string] : any} | null | void {
const vals : string = control.value;
let pattern = regKatakanFull;
if(isJapChar(vals, pattern )){
return null;
}
return { 'katakanaValidate': true};
}
export function alphaNumericValidate(control: AbstractControl):
{ [key: string] : any} | null | void {
const vals : string = control.value;
let pattern = regAlphaNumeric;
if((vals == '') || isJapChar(vals, pattern )){
return null;
}
return { 'alphaNumericValidate': true};
}
export function doubleByteValidate(control: AbstractControl):
{ [key: string] : any} | null | void {
const vals : string = control.value;
if((vals == '')
|| isJapChar(vals, regHiragana )
|| isJapChar(vals, regKanji )
|| isJapChar(vals, regKatakanFull )
|| isJapChar(vals, regKatakanHalf )){
return null;
}
return { 'doubleByteValidate': true};
}
2. validation rule in angular
nickname: ['', [Validators.required, doubleByteValidate, Validators.maxLength(20)]],