| Server IP : 34.87.99.72 / Your IP : 216.73.217.31 Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 User : bitnami ( 1000) PHP Version : 7.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /opt/bitnami/apache/htdocs/app/app/Http/Requests/ShippingMethods/ |
Upload File : |
<?php
namespace App\Http\Requests\ShippingMethods;
use Illuminate\Foundation\Http\FormRequest;
use App\Models\ShippingType;
class ShippingMethodCreateRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|min:3|max:50',
'shipping_type_id' => 'required|integer|exists:shipping_types,id',
'flat_rate.couriers.*.id' => 'sometimes|integer|exists:couriers',
'free_shipping.couriers.*.id' => 'sometimes|integer|exists:couriers',
'weight_based.couriers.*.id' => 'sometimes|integer|exists:couriers',
'dynamic_weight_based.couriers.*.id' => 'sometimes|integer|exists:couriers',
'box_type_based.couriers.*.id' => 'sometimes|integer|exists:couriers|not_in:'.config('services.dhl.delivery_partner_id'),
'flat_rate.geo_zone_id' => 'required_if:shipping_type_id,'.ShippingType::FLAT_RATE.'|integer|exists:geo_zones,id',
'free_shipping.geo_zone_id' => 'required_if:shipping_type_id,'.ShippingType::FREE_SHIPPING.'|integer|exists:geo_zones,id',
'weight_based.geo_zone_id' => 'required_if:shipping_type_id,'.ShippingType::WEIGHT_BASED.'|integer|exists:geo_zones,id',
'dynamic_weight_based.geo_zone_id' => 'required_if:shipping_type_id,'.ShippingType::DYNAMIC_WEIGHT_BASED.'|integer|exists:geo_zones,id',
'flat_rate.cost' => 'required_if:shipping_type_id,'.ShippingType::FLAT_RATE.'|numeric',
'box_type_based.cost' => 'required_if:shipping_type_id,'.ShippingType::BOX_TYPE_BASED.'|numeric',
'box_type_based.box_type_id' => 'required_if:shipping_type_id,'.ShippingType::BOX_TYPE_BASED.'|integer|exists:locker_box_types,id',
'free_shipping.subtotal' => 'required_if:shipping_type_id,'.ShippingType::FREE_SHIPPING.'|numeric',
'weight_based.first_weight' => 'required_if:shipping_type_id,'.ShippingType::WEIGHT_BASED.'|numeric',
'weight_based.price_first_weight' => 'required_if:shipping_type_id,'.ShippingType::WEIGHT_BASED.'|numeric',
'weight_based.repeating_weight' => 'required_if:shipping_type_id,'.ShippingType::WEIGHT_BASED.'|numeric',
'weight_based.price_repeating_weight' => 'required_if:shipping_type_id,'.ShippingType::WEIGHT_BASED.'|numeric',
'weight_based.additional_fee' => 'sometimes|numeric',
'dynamic_weight_based.weights.*.weight' => 'sometimes|numeric',
'dynamic_weight_based.weights.*.price' => 'sometimes|numeric',
'is_enabled' => 'sometimes|boolean'
];
}
/**
* Custom message for validation
*
* @return array
*/
public function messages()
{
return [
'shipping_type_id.required' => 'Shipping Type is required.',
'flat_rate.geo_zone_id.required_if' => 'Geo Zone is required.',
'free_shipping.geo_zone_id.required_if' => 'Geo Zone is required.',
'weight_based.geo_zone_id.required_if' => 'Geo Zone is required.',
'dynamic_weight_based.geo_zone_id.required_if' => 'Geo Zone is required.',
'box_type_based.couriers.*.id.not_in' => 'You cannot select DHL courier for box type based shipping method.',
'flat_rate.cost.required_if' => 'Cost is required.',
'free_shipping.subtotal.required_if' => 'Subtotal is required.',
'weight_based.first_weight.required_if' => 'First Weight is required.',
'weight_based.price_first_weight.required_if' => 'Price for First Weight is required.',
'weight_based.repeating_weight.required_if' => 'Repeating Weight is required.',
'weight_based.price_repeating_weight.required_if' => 'Price for Repeating Weight is required.',
'flat_rate.cost.numeric' => 'Cost must be a number.',
'free_shipping.subtotal.numeric' => 'Subtotal must be a number.',
'weight_based.first_weight.numeric' => 'First Weight must be a number.',
'weight_based.price_first_weight.numeric' => 'Price for First Weight must be a number.',
'weight_based.repeating_weight.numeric' => 'Repeating Weight must be a number.',
'weight_based.price_repeating_weight.numeric' => 'Price for Repeating Weight must be a number.',
'weight_based.additional_fee.numeric' => 'Additional Fee must be a number.'
];
}
}