close #472 Fixed: If you create/edit invoice/bill then Validation return error missing items.

This commit is contained in:
cuneytsenturk
2018-09-03 13:24:27 +03:00
parent 49e9732fac
commit da779e88ed
10 changed files with 201 additions and 72 deletions

View File

@ -0,0 +1,42 @@
<?php
namespace App\Http\Requests\Common;
use App\Http\Requests\Request;
class TotalItem extends Request
{
/**
* 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 [
'item.*.quantity' => 'required',
'item.*.price' => 'required|amount',
'item.*.currency' => 'required|string|currency',
];
}
public function messages()
{
return [
'item.*.quantity.required' => trans('validation.required', ['attribute' => mb_strtolower(trans('invoices.quantity'))]),
'item.*.price.required' => trans('validation.required', ['attribute' => mb_strtolower(trans('invoices.price'))]),
'item.*.currency.required' => trans('validation.custom.invalid_currency'),
'item.*.currency.string' => trans('validation.custom.invalid_currency'),
];
}
}

View File

@ -40,6 +40,10 @@ class Bill extends Request
'billed_at' => 'required|date',
'due_at' => 'required|date',
'amount' => 'required',
'item.*.name' => 'required|string',
'item.*.quantity' => 'required',
'item.*.price' => 'required|amount',
'item.*.currency' => 'required|string|currency',
'currency_code' => 'required|string|currency',
'currency_rate' => 'required',
'vendor_id' => 'required|integer',
@ -60,4 +64,15 @@ class Bill extends Request
$this->request->set('due_at', $due_at);
}
}
public function messages()
{
return [
'item.*.name.required' => trans('validation.required', ['attribute' => mb_strtolower(trans('general.name'))]),
'item.*.quantity.required' => trans('validation.required', ['attribute' => mb_strtolower(trans('bills.quantity'))]),
'item.*.price.required' => trans('validation.required', ['attribute' => mb_strtolower(trans('bills.price'))]),
'item.*.currency.required' => trans('validation.custom.invalid_currency'),
'item.*.currency.string' => trans('validation.custom.invalid_currency'),
];
}
}

View File

@ -40,6 +40,10 @@ class Invoice extends Request
'invoiced_at' => 'required|date',
'due_at' => 'required|date',
'amount' => 'required',
'item.*.name' => 'required|string',
'item.*.quantity' => 'required',
'item.*.price' => 'required|amount',
'item.*.currency' => 'required|string|currency',
'currency_code' => 'required|string|currency',
'currency_rate' => 'required',
'customer_id' => 'required|integer',
@ -60,4 +64,15 @@ class Invoice extends Request
$this->request->set('due_at', $due_at);
}
}
public function messages()
{
return [
'item.*.name.required' => trans('validation.required', ['attribute' => mb_strtolower(trans('general.name'))]),
'item.*.quantity.required' => trans('validation.required', ['attribute' => mb_strtolower(trans('invoices.quantity'))]),
'item.*.price.required' => trans('validation.required', ['attribute' => mb_strtolower(trans('invoices.price'))]),
'item.*.currency.required' => trans('validation.custom.invalid_currency'),
'item.*.currency.string' => trans('validation.custom.invalid_currency'),
];
}
}