function Validate()
 {
     //Make sure pay period isn't locked!
     if ($this->getPayPeriod() !== FALSE) {
         if ($this->getPayPeriodObject()->getIsLocked() == TRUE) {
             $this->Validator->isTRUE('pay_period', FALSE, TTi18n::gettext('Pay Period is Currently Locked'));
         }
     }
     //Make sure this is a UNIQUE user_date row.
     $this->Validator->isTRUE('date_stamp', $this->isUnique(), TTi18n::gettext('Employee can not have duplicate entries on the same day'));
     //Make sure the date isn't BEFORE the first pay period.
     $pplf = new PayPeriodListFactory();
     $pplf->getByUserID($this->getUser(), NULL, NULL, NULL, array('a.start_date' => 'asc'));
     if ($pplf->getRecordCount() > 0) {
         $first_pp_obj = $pplf->getCurrent();
         if ($this->getDateStamp() < $first_pp_obj->getStartDate()) {
             $this->Validator->isTRUE('pay_period', FALSE, TTi18n::gettext('Pay Period Missing') . '(b)');
         }
     } else {
         $this->Validator->isTRUE('pay_period', FALSE, TTi18n::gettext('Pay Period Missing'));
     }
     return TRUE;
 }