반응 형 그룹을 사용하여 datepicker
에 대한 사용자 정의 유효성 검사기를 작성했습니다. 내 .TS에Material2 - Datepicker 사용자 정의 유효성 검사기 값이 문자열이 아닌 날짜 객체를 반환합니다.
항상 JS 날짜 오브젝트를 돌려 그 위의 예에서 내 수업 CustomValidatorService
validDate(c: AbstractControl): any {
// It always return 'Mon Jan 01 2001 00:00:00 GMT+0800 (Taipei Standard Time)'
// When value is 1
// And 'Sat Dec 01 2001 00:00:00 GMT+0800 (Taipei Standard Time)'
// When value is 12
console.log(c.value);
}
에서
form: FormGroup;
constructor(
private fb: FormBuilder,
private validatorSrv: CustomValidatorService,
) {}
createForm(): void {
this.form = this.fb.group({
trans_date: [null, [Validators.required, this.validatorSrv.validDate]]
});
}
이제 파일.
어떻게 사용자 정의 유효성 검사기 AbstractControl에서 실제 입력 값을 얻을 수 있습니까?
내가 원하는 것은 날짜 선택 도구에서 실제 사용자 입력 또는 컨트롤 자체의 실제 값입니다. 그래서 구문 분석/개체를 문자열로 변환할지 여부는 문자열에서 해당 개체의 긴 datetime 형식을 변경하지 않습니다. –
유효 기간이 유효한 날짜 인 경우 실제 날짜가 있는지 단순히 테스트하십시오. 그렇지 않은 경우 사용자가 유효한 날짜를 제공하지 않았다는 의미입니다. 유효성 검사기에서 입력 텍스트 값을 가져올 수 있는지 확신하지 못합니다. 나는 당신이 구성 요소에서 할 수있는 것을 안다. – trichetriche
이유는 내가 형식을 mm/dd/yyyy 또는 mm-dd-yyyy 그렇지 않으면 정규식을 사용하는 경우 사용자가 유효성을 검사하는 논리를 가지고 있기 때문에 그것을 문자열로 완료해야합니다 이유는'invalidDate : true'를 반환합니다. –