Trim::class, 'operation' => Trim::class, 'order_date' => Trim::class, 'order_num' => RemoveNonNumeric::class, 'package_unit_weight' => RemoveNonNumeric::class, 'support_code' => Trim::class, 'deliver.firstname' => Trim::class, 'deliver.lastname' => Trim::class, 'deliver.email' => Trim::class, 'deliver.address' => Trim::class, 'deliver.address2' => Trim::class, 'deliver.city' => Trim::class, 'deliver.postcode' => Trim::class, 'deliver.phone' => [Trim::class, RemoveSpaces::class] ]; /** * Get the validation rules that apply to the request. * * @return array */ public function rules(): array { return [ 'label_type_support' => 'required|string', 'operation' => 'required|int', 'order_date' => 'required|date', 'order_num' => 'required|numeric', 'package_unit_weight' => 'required|integer', 'state_order' => [ 'required', new Enum(ArcadiaOrderType::class) ], 'support_code' => 'required|int', 'deliver' => 'required|array', 'deliver.firstname' => 'required|string|min:1|max:255', 'deliver.lastname' => 'required|string|min:1|max:255', 'deliver.email' => 'required|email:rfc,dns,spoof,filter|max:255', 'deliver.address' => 'required|string|min:2|max:255', 'deliver.address2' => 'sometimes|string|min:2|max:255', 'deliver.city' => 'required|string|min:2|max:255', 'deliver.postcode' => 'required|string|postal_code:FR|max:255', 'deliver.phone' => 'present|string|nullable|phone:FR|max:255', ]; } /** * Attributes. * * @return array */ public function attributes(): array { return [ 'label_type_support' => trans('label type support'), 'operation' => trans('code opération'), 'order_date' => trans('date de la commande'), 'order_num' => trans('numero de commande'), 'package_unit_weight' => trans('poids unitaire du paquet'), 'state_order' => trans('type de commande arcadia'), 'support_code' => trans('code de support'), 'deliver' => trans('coordonées de livraison'), 'deliver.civility' => trans('civilitée dans coordonées de livraison'), 'deliver.firstname' => trans('prénom dans coordonées de livraison'), 'deliver.lastname' => trans('nom dans coordonées de livraison'), 'deliver.address' => trans('adresse dans coordonées de livraison'), 'deliver.postcode' => trans('code postal dans coordonées de livraison'), 'deliver.phone' => trans('téléphone dans coordonées de livraison'), 'deliver.city' => trans('ville dans coordonées de livraison'), 'deliver.email' => trans('e-mail dans coordonées de livraison'), ]; } /** * Messages. * * @return array */ public function messages(): array { return [ 'deliver.phone.phone' => trans('Le champ :attribute est invalide, il accepte les numéros des pays suivants: France.'), 'deliver.postcode.postal_code' => trans('Le champ :attribute accepte les codes postaux des pays suivants :countries comme par exemple :examples.'), ]; } }