/**
  * Filter & validate recipients
  */
 public function validate()
 {
     parent::validate();
     $recipients = explode("\n", str_replace("\r", '', $this->getData('recipients')));
     $recipients = array_unique(array_map('trim', $recipients));
     $recipients = array_filter($recipients, 'strlen');
     if (false === $recipients || count($recipients) < 1) {
         $this->addError('Recipients cannot be empty');
     }
     try {
         $startDate = new DateTime($this->getData('start_date'));
     } catch (Exception $e) {
         $this->addError('Invalid Start Date');
         return !$this->hasErrors();
     }
     // Get last errors & warnings
     $errors = DateTime::getLastErrors();
     if (!empty($errors['errors']) || !empty($errors['warnings'])) {
         $this->addError('Invalid Start Date');
     }
     // Set filtered & validated state
     $this->setData('recipients', $recipients);
     $this->setData('start_date', $startDate->format(Varien_Date::DATETIME_PHP_FORMAT));
     return !$this->hasErrors();
 }