'required', 'reference' => 'required', 'person_or_company' => 'required', 'amount' => 'sometimes|required|numeric|min:0', 'account_type_id' => 'required', 'person_target_id' => 'empty_if:personTarget.person_id' . '|empty_if:personTarget.date', 'personTarget.person_id' => 'empty_if:person_target_id' . '|required_with:personTarget.date', 'personTarget.date' => 'sometimes' . '|empty_if:person_target_id' . '|before_or_equal:date' ]; } public function messages() { return [ 'date.required' => 'Die Buchung muss ein Datum haben.', 'reference.required' => 'Die Buchung muss einen Buchungstext haben.', 'person_or_company.required' => 'Der Buchung muss eine Person oder Firma zugeordnet werden.', 'amount.required' => 'Die Buchung muss einen Betrag haben.', 'amount.numeric' => 'Der Betrag muss eine Zahl sein.', 'amount.min' => 'Der Betrag darf kein Vorzeichen haben. Das Vorzeichen der Buchung wird durch das zugeordnete Konto bestimmt.', 'account_type_id.required' => 'Der Buchung muss ein Konto zugewiesen werden.', 'person_target_id.empty_if' => 'Wenn ein Personenkonto angewählt ist kann keine neue ' . 'Soll-Buchung angelegt werden.', 'personTarget.person_id.empty_if' => 'Wenn eine neue Soll-Buchung angelegt werden soll kann kein ' . 'Personenkonto gewählt werden.', 'personTarget.person_id.required_with' => 'Die neue Soll-Buchung muss einer Person zugeordnet werden.', 'personTarget.date.empty_if' => 'Wenn eine neue Soll-Buchung angelegt werden soll kann kein ' . 'Personenkonto gewählt werden.', 'personTarget.date.before_or_equal' => 'Das Datum der neuen Soll-Buchung muss vor dem Datum der ' . 'Buchung liegen.' ]; } }