Setting->Database Structure -> Fields (Search your EndDate) -> Advance Properties, you will see Dependencies and Compute field, there is a little help text in there:
Computed fields are defined with the fields Dependencies and Compute.
The field Dependencies lists the fields that the current field depends on. It is a comma-separated list of field names, like name, size
. You can also refer to fields accessible through other relational fields, for instance partner_id.company_id.name
.
The field Compute is the Python code to compute the value of the field on a set of records. The value of the field must be assigned to each record with a dictionary-like assignment.
for record in self:
record['size'] = len(record.name)
You can use this to compute constraint checking your StartDate and achieve the goal.