83 lines
2.7 KiB
PHP
83 lines
2.7 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
|
|
class StoreBooking extends FormRequest
|
|
{
|
|
/**
|
|
* Determine if the user is authorized to make this request.
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function authorize()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Get the validation rules that apply to the request.
|
|
*
|
|
* @return array
|
|
*/
|
|
public function rules()
|
|
{
|
|
return [
|
|
'date' => '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'
|
|
. '|nullable'
|
|
. '|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.'
|
|
];
|
|
}
|
|
}
|