Consider an empty string for date as a missing date and save the default instead.

When you deal with forms, empty inputs are empty strings.
An empty string for a date doesn't really make sense and imo it'll make more sense to cast date using the default value instead of having a bunch of '0000-00-00 00:00:00'.