My apologies, let me clarify something about the effective date and the 90 day restriction.
Create a new "compute field" i named mine TestDate. Set it to be a date field type. in the computation box the field's computation should be " (current date + 90) "
This will create a field with this LPL:
[EDIT: below I changed "current date" to "system current date". In order to compare with effective date, you need to ensure that TestDate is the same TYPE of Date as effective date. "system current date" returns the same type as effective date. I also added "days" after "90", the reason for this is that 90 is a number, but needs to be typecast to a Date context.]
The below works fine on all 10.x versions I've tested on (10.0.x & 10.1.1.x).
Employee is a BusinessClass owned by hr Derived Fields TestDate is a ComputeField type is Date default label is untranslatable:"TestDate" ((system current date + 90 days))
You would then hide the TestDate field on your form somewhere. It does show 90 days out.
You would then put a constraint on your effective date for less than "TestDate"
Looks like so:
effective date label is untranslatable:"Termination Effective Date" constraint (effective date <= TestDate) "TerminationDateMustBeLessThan90DaysOut" required
My initial post neglected to handle the weird way that you need a compute field for many types of computations, especially date ones...