時間と分で入力を検証する必要がありますが、HHH:MM の 6 文字という奇妙な形式です。たとえば、 030:15のように30 時間 15 分を入力する必要があります。
カスタムバリデータを作成しようとする私の試みは以下のとおりですが、正規表現を取得して、入力された時間を 0 ~ 70 の間で比較し、分を 00 ~ 59 にする必要があります。
import { AbstractControl, ValidatorFn, FormControl } from '@angular/forms';
export class RegexConstants {
public static DECIMAL_6_4 = /^[0-9:-]{6}$/;
}
export function hoursClaimedValidator(input: string,reg: RegexConstants){
return (control: AbstractControl):{[key: string]: boolean} | null => {
if( control.value !==null && (isNaN(control.value) || control.value.toString().match(reg)))
{
return {'hoursClaimed': true}
}
return null;
};
}