My API needs the date to be in ISO format. I have tried multiple ways to get that in react-admin DateInput component I'm still not able to get the date in that format. Either the input element gets frozen, or invalid date error is thrown or the date is still getting in YYYY-MM-DD format. I'm trying to use parse and format props but the input element gets frozen for some reason.
const dateParser = (v: string) => {
return new Date(v?.split('T')[0]);
};
const dateFormatter = (v: Date) => {
if (!(v instanceof Date) || Number.isNaN(v)) return;
const formatted = v.toISOString();
return formatted;
};
<DateInput source="pub_date" format={dateFormatter} defaultValue={new Date()} parse={dateParser} label="Publish Date" />
In my opinion, you have confused functions: format - is used when displaying data, parse - when saving data in a record.