I know that you can set defaultvalues inside useForm hook and reset it by reset() from 'react-hook-form'. But I'm not able to set value and min attribute to new Date() so that each time when form opens, there is updated value.
For simplicity, assume there is input text field and I set defaultvalue to new Date(), I expected to see current date every time I open form, but it doesn't get updated. Below is example of what I'm trying to do:
import....
let timeValue = new Date();
let minValue = timeValue.setMinutes(timeValue.getMinutes() + 30);
const {
register,
handleSubmit,
reset
} = useForm({
defaultValues: {
date: timeValue.toISOString().slice(0,16),
},
});
const onSubmit = data => {
console.log(data);
reset();
};
<form onSubmit={handleSubmit(onSubmit)}>
<label htmlFor="date">Date
<input
type="datetime-local"
id="deadline"
{...register("due", { required: true, min: {value: minValue.toISOString().slice(0,16), message: 'Deadline cannot be set in the past.'} })}
/>
</label>
</form>