catches invalid times and saves as draft, cors, js validation