public function validateApplicationTransactions(PhabricatorApplicationTransactionEditor $editor, $type, array $xactions)
 {
     $this->setFieldError(null);
     $errors = parent::validateApplicationTransactions($editor, $type, $xactions);
     $transaction = null;
     foreach ($xactions as $xaction) {
         $value = $xaction->getNewValue();
         if ($this->isCoreFieldRequired()) {
             if ($this->isCoreFieldValueEmpty($value)) {
                 $error = new PhabricatorApplicationTransactionValidationError($type, pht('Required'), $this->getCoreFieldRequiredErrorString(), $xaction);
                 $error->setIsMissingFieldError(true);
                 $errors[] = $error;
                 $this->setFieldError(pht('Required'));
                 continue;
             }
         }
         if (is_string($value)) {
             $parser = $this->getFieldParser();
             $result = $parser->parseCorpus($value);
             unset($result['__title__']);
             unset($result['__summary__']);
             if ($result) {
                 $error = new PhabricatorApplicationTransactionValidationError($type, pht('Invalid'), pht('The value you have entered in "%s" can not be parsed ' . 'unambiguously when rendered in a commit message. Edit the ' . 'message so that keywords like "Summary:" and "Test Plan:" do ' . 'not appear at the beginning of lines. Parsed keys: %s.', $this->getFieldName(), implode(', ', array_keys($result))), $xaction);
                 $errors[] = $error;
                 $this->setFieldError(pht('Invalid'));
                 continue;
             }
         }
     }
     return $errors;
 }
 public function validateApplicationTransactions(PhabricatorApplicationTransactionEditor $editor, $type, array $xactions)
 {
     $this->setFieldError(null);
     $errors = parent::validateApplicationTransactions($editor, $type, $xactions);
     $transaction = null;
     foreach ($xactions as $xaction) {
         $value = $xaction->getNewValue();
         if ($this->isCoreFieldRequired()) {
             if ($this->isCoreFieldValueEmpty($value)) {
                 $error = new PhabricatorApplicationTransactionValidationError($type, pht('Required'), $this->getCoreFieldRequiredErrorString(), $xaction);
                 $error->setIsMissingFieldError(true);
                 $errors[] = $error;
                 $this->setFieldError(pht('Required'));
             }
         }
     }
     return $errors;
 }