여기에 2 개의 angle2 사용자 정의 유효성 검사가 있는데, 첫 번째 validateAge는 작동하지만 두 번째 validateDob은 그렇지 않습니다 ... 차이점은 validateAge가 현재 사용중인 구성 요소를 사용한다는 점입니다 텍스트 기반 필드 인 경우 두 번째 필드는 날짜 입력 필드를 사용하여 실제 날짜를 찾고 나이 필드와 비교하여 현재 날짜와 생년월일의 차이를 찾아야합니다. 하지만 뭔가 이상하지 않습니다 ... 어떤 아이디어가Angular2의 사용자 정의 유효성 검사가 작동하지 않습니다.
function validateAge(control: FormControl): { [s: string]: boolean } {
if (parseInt(control.value) <= 0) {
return {invalidAge: true};
}
}
function validateDob(control: FormControl): {[s:string]: boolean}{
var today = new Date();
var calcAge = today - control.value;
if (calcAge != parseInt([{age}])){
return {invalidDate: true}
}
}
비교 문에서 'Math.floor (calcAge)'를 사용해보세요. – Feathercrown
control.value의 실제 값은 무엇입니까? – epascarello
죄송합니다, control.value는 입력 된 생년월일입니다 ... 03/01/1978처럼 –