How to make a mixed field type required
100% untested and I haven't had coffee yet, but I think it'd be a combination of a few things.

1) Having your plugin override BaseSavableComponentType's getSettingsModel() so that it returned a MyPluginSettingsModel().

2) Have MyPluginSettingsModel override the rules method to do something like:

public function rules()
{
    $rules = parent::rules();

    $rules[] = array('myStartDate, myEndDate', 'required');

    return $rules;
}