forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			759 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			759 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { Validator } from "../Validator"
 | 
						|
 | 
						|
export default class DateValidator extends Validator {
 | 
						|
    constructor() {
 | 
						|
        super("date", "A date with date picker")
 | 
						|
    }
 | 
						|
 | 
						|
    isValid(str: string): boolean {
 | 
						|
        return !isNaN(new Date(str).getTime())
 | 
						|
    }
 | 
						|
 | 
						|
    reformat(str: string) {
 | 
						|
        console.log("Reformatting", str)
 | 
						|
        if (!this.isValid(str)) {
 | 
						|
            // The date is invalid - we return the string as is
 | 
						|
            return str
 | 
						|
        }
 | 
						|
        const d = new Date(str)
 | 
						|
        let month = "" + (d.getMonth() + 1)
 | 
						|
        let day = "" + d.getDate()
 | 
						|
        const year = d.getFullYear()
 | 
						|
 | 
						|
        if (month.length < 2) month = "0" + month
 | 
						|
        if (day.length < 2) day = "0" + day
 | 
						|
 | 
						|
        return [year, month, day].join("-")
 | 
						|
    }
 | 
						|
}
 |