<?php
namespace App\Http\Requests\Api\TransporteBlanco;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException;
class PricingRequest extends FormRequest {
public function rules(): array {
return [
'customerId' => 'required|integer',
'productId' => 'required|integer',
'address' => 'required|string',
'city' => 'required|string',
'state' => 'required|string',
'country' => 'required|string',
'latitude' => 'required|numeric',
'longitude' => 'required|numeric',
];
}
public function authorize(): bool {
return true;
}
public function failedValidation(Validator $validator) {
throw new HttpResponseException(response()->json([
'errors' => $validator->errors()->all()
], 403));
}
public function messages(): array {
return [
'customerId.required' => 'NO_CUSTOMER_ID_PROVIDED',
'customerId.integer' => 'BAD_CUSTOMER_ID_FORMAT_PROVIDED',
'productId.required' => 'NO_PRODUCT_ID_PROVIDED',
'productId.integer' => 'BAD_PRODUCT_ID_FORMAT_PROVIDED',
'address.required' => 'NO_ADDRESS_PROVIDED',
'address.string' => 'BAD_ADDRESS_FORMAT_PROVIDED',
'city.required' => 'NO_CITY_PROVIDED',
'city.string' => 'BAD_CITY_FORMAT_PROVIDED',
'state.required' => 'NO_STATE_PROVIDED',
'state.string' => 'BAD_STATE_FORMAT_PROVIDED',
'country.required' => 'NO_COUNTRY_PROVIDED',
'country.string' => 'BAD_COUNTRY_FORMAT_PROVIDED',
'latitude.required' => 'NO_LATITUDE_PROVIDED',
'latitude.numeric' => 'BAD_LATITUDE_FORMAT_PROVIDED',
'longitude.required' => 'NO_LONGITUDE_PROVIDED',
'longitude.numeric' => 'BAD_LONGITUDE_FORMAT_PROVIDED',
];
}
}
|