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; }