Vyhľadávania a operácie vyhadzujú výnimky špecifické pre balík, všetky dedia z RoundlyConsulting\Forms\Exceptions\FormsException (RuntimeException):
| Výnimka | Kedy sa vyhodí | Kľúč hlášky |
|---|---|---|
FormNotFoundException | Kľúču nezodpovedá žiadny formulár (find(), update()). | form_not_found |
MultipleFormsFoundException | Kľúču zodpovedá viac formulárov. | multiple_forms_found |
UnresolvableFieldException | Pre typ poľa nie je zaregistrovaný žiadny resolver. | unresolvable_field |
FormSubmissionClosedException | submit(), draft(), finalize() alebo createSubmission() nad neverejným či expirovaným formulárom (bez bypassClosed: true). | submission_closed |
DraftNotFoundException | finalize() dostane neznáme uuid konceptu (alebo také, ktoré už povýšila súbežná finalizácia), prípadne draft() má pokračovať v uuid, ktoré nie je konceptom daného formulára od toho istého odosielateľa. | draft_not_found |
SubmissionNotFoundException | Forms::submission() alebo Forms::review() dostane neznáme či neplatné uuid, prípadne createSubmission() uuid, ktoré je neplatné alebo patrí odpovedi iného formulára či konceptu. | submission_not_found |
ReviewsDisabledException | Schvaľovanie sa otvára, hoci forms.approvals.enabled je false. | reviews_disabled |
SubmissionNotReviewableException | Schvaľovanie sa otvára nad konceptom alebo bez určených schvaľovateľov. | submission_not_reviewable, submission_review_without_reviewers |
Hodnota, ktorá nezodpovedá typu poľa, je zlyhaním validácie, nie samostatnou výnimkou: vyhodí ValidationException z Laravelu (pozrite Typované hodnoty polí). Zachyťte konkrétnu výnimku alebo FormsException pre všetky naraz:
use RoundlyConsulting\Forms\Exceptions\FormNotFoundException;
use RoundlyConsulting\Forms\Exceptions\FormsException;
try {
$form = Forms::find($key);
} catch (FormNotFoundException $e) {
abort(404);
}
try {
Forms::finalize($uuid);
} catch (FormsException $e) {
// any package-specific failure (draft not found, form closed, ...)
}Jedinou výnimkou mimo FormsException je chybné nastavenie: vyhodí RoundlyConsulting\PackageToolkit\Exceptions\InvalidConfigurationException z balíka package toolkit s názvom kľúča — pozrite Konfiguráciu.
Prekladateľné hlášky
Hlášky sú v mennom priestore forms::messages. Publikujte forms-translations a upravte alebo preložte ich:
// lang/vendor/forms/en/messages.php (after publishing forms-translations)
return [
'form_not_found' => 'No form found for key [:key].',
'multiple_forms_found' => 'Multiple forms found for key [:key].',
'unresolvable_field' => 'No resolver registered for field type [:type].',
'submission_closed' => 'Form [:key] is not accepting submissions.',
'draft_not_found' => 'No draft submission found for uuid [:uuid].',
'submission_not_found' => 'No submission found for uuid [:uuid].',
'invalid_field_value' => 'The :attribute field must be a valid :type.',
'reviews_disabled' => 'Submission reviews are disabled. Enable forms.approvals.enabled to route submissions through the approvals engine.',
'submission_not_reviewable' => 'Submission [:uuid] cannot be reviewed while it is a draft.',
'submission_review_without_reviewers' => 'Submission [:uuid] cannot be reviewed without naming its reviewers: pass them to requiring().',
];Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.