角引导程序ngb-timepicker自定义验证

时间:2019-10-30 17:02:44

标签: angular angular-bootstrap

我是引导ngb-timepicker的新手。 我正在以角度实现一个简单的反应形式,该形式有两次,即开始时间和结束时间。我想验证这些时间,以使开始时间始终早于结束时间。我正在使用以下自定义验证,但无法按预期工作:

export function SessionTimesValidator(startTimeControlName: string, endTimeControlName: string): ValidatorFn {
    return (formGroup: FormGroup): { [key: string]: any } | null => {

        const startTimeControl = formGroup.get(startTimeControlName);
        const endTimeControl = formGroup.get(endTimeControlName)

        const startTimeValue = startTimeControl.value;
        const endTimeValue = endTimeControl.value;

        if (startTimeControl.pristine || endTimeControl.pristine) {
            return null;
        }

        return (startTimeValue !== null && endTimeValue !== null && 
                (startTimeValue.hour > endTimeValue.hour || startTimeValue.minute > endTimeValue.minute || startTimeValue.seconds > endTimeValue.seconds))
                ? null
                : {'sessiontimes': {value: 'Start Time must be valid'}};
    };
}

有人可以帮助我以正确的方式执行此自定义验证吗?

谢谢

0 个答案:

没有答案