Sorry for the late reply. Here is a basic example for a script that would go into Property Change Scripts on a Date Range component:
if event.propertyName == "startDate":
if event.source.startDate < system.date.getDate(2018, 00, 01):
event.source.startDate = system.date.getDate(2018, 00, 01)
if event.propertyName == "endDate":
if event.source.endDate > system.date.now():
event.source.endDate = system.date.now()
Not sure if you were doing it, but in general I avoid using java.util.stuff, and try to stick to the ignition equivalents if possible… so system.date rather than java.util.date.
Hope this helps!