Refactor currency validation

This commit is contained in:
James Cole
2020-03-21 06:00:36 +01:00
parent 11e3834235
commit c15b72b6b0
6 changed files with 106 additions and 58 deletions

View File

@@ -67,6 +67,31 @@ trait GroupValidation
}
}
/**
* Adds an error to the "description" field when the user has submitted no descriptions and no
* journal description.
*
* @param Validator $validator
*/
protected function validateDescriptions(Validator $validator): void
{
Log::debug('Now in GroupValidation::validateDescriptions()');
$transactions = $this->getTransactionsArray($validator);
$validDescriptions = 0;
foreach ($transactions as $transaction) {
if ('' !== (string)($transaction['description'] ?? null)) {
$validDescriptions++;
}
}
// no valid descriptions?
if (0 === $validDescriptions) {
$validator->errors()->add(
'transactions.0.description', (string)trans('validation.filled', ['attribute' => (string)trans('validation.attributes.description')])
);
}
}
/**
* Do the validation required by validateJournalIds.
*
@@ -86,4 +111,6 @@ trait GroupValidation
$validator->errors()->add(sprintf('transactions.%d.source_name', $index), (string) trans('validation.need_id_in_edit'));
}
}
}