Below is the code for validation of date & time components:
var doValidate = (submittedBy( 'button1' ) || submittedBy( 'button2' )) && (sessionScope.get("IsL2User") == "Yes");
if (!doValidate) return true;
var dtIssue = getComponent("label_IssueDateDt").getSubmittedValue();
var dtPermFix = this.getSubmittedValue();
if ( (dtIssue == null) || (dtPermFix == null) ) return false;
var difference = I18n.parseDateXMI(dtPermFix) - I18n.parseDateXMI(dtIssue);
return difference > 0;
It may be possible to sort the error messages. But i never tried it.