File: D:/HostingSpaces/pietvanmierlo/stempelbv.nl/app/Komma/Shop/Checkout/CheckoutRequest.php
<?php
namespace App\Komma\Shop\Checkout;
use Illuminate\Foundation\Http\FormRequest;
/**
* Class CheckoutRequest
*
* Validates a checkout request.
*
* @package App\Komma\Shop\Checkout
*/
class CheckoutRequest 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()
{
if(\Input::has('add_coupon') || \Input::has('delete_coupon')) { //Coupon code add or delete button pressed. No need to validate the other fields since these actions redirect us back to the same form.
return [];
} else {
return [
'terms_and_conditions' => 'required|accepted',
'invoice_address' => 'required|integer', //When it is -1, it means a new address must be entered
'invoice_street' => 'required_if:invoice_address,-1|string|min:3',
'invoice_house_number' => 'required_if:invoice_address,-1|string|min:1',
'invoice_postal_code' => 'required_if:invoice_address,-1|string|min:4',
'invoice_city' => 'required_if:invoice_address,-1|string|min:2',
'invoice_phone' => 'required_if:invoice_address,-1|string|min:2',
'invoice_country' => 'required_if:invoice_address,-1|string|min:2',
'shipping_address' => 'required|integer', //When it is -1, it means a new address must be entered
'shipping_street' => 'required_if:shipping_address,-1|string|min:3',
'shipping_house_number' => 'required_if:shipping_address,-1|string|min:1',
'shipping_postal_code' => 'required_if:shipping_address,-1|string|min:4',
'shipping_city' => 'required_if:shipping_address,-1|string|min:2',
'shipping_phone' => 'required_if:shipping_address,-1|string|min:2',
'shipping_country' => 'required_if:shipping_address,-1|string|min:2',
];
}
}
/**
* Get custom messages for validator error
*
* @return array
*/
public function messages()
{
$messages = [
'terms_and_conditions.accepted' => __('shop/checkout.validation.terms_and_conditions.accepted'),
];
foreach(['shipping', 'invoice'] as $type) {
foreach ([$type.'_street', $type.'_house_number', $type.'_postal_code', $type.'_city', $type.'_phone', $type.'_country'] as $attribute) {
$messages[$attribute.'.required_if'] = __('shop/checkout.validation.required_if', ['attribute' => __('validation.attributes.'.$attribute)]);
}
}
return $messages;
}
}