isMethod('POST'); $rules = [ 'fantasy_name' => 'sometimes|required|string|max:255', 'social_reason' => 'sometimes|required|string|max:255', 'cnpj' => 'sometimes|required|string|max:20', 'state_registration' => 'sometimes|nullable|string|max:50', 'name_responsible' => 'sometimes|required|string|max:255', 'street' => 'sometimes|required|string|max:255', 'address_number' => 'sometimes|nullable|string|max:20', 'postal_code' => 'sometimes|required|string|max:9', 'neighborhood' => 'sometimes|required|string|max:255', 'complement' => 'sometimes|nullable|string|max:255', 'city_id' => 'sometimes|required|integer|exists:cities,id', 'state_id' => 'sometimes|required|integer|exists:states,id', 'email' => 'sometimes|required|email|max:255', 'secondary_email' => 'sometimes|nullable|email|max:255', 'phone_number' => 'sometimes|required|string|max:20', 'cell_number' => 'sometimes|nullable|string|max:20', 'avatar' => 'sometimes|nullable|image|max:2048', 'contracts' => 'sometimes|nullable|array', 'contracts.*' => 'file|mimes:pdf|max:10240', 'partners' => 'sometimes|nullable|array', 'partners.*.name' => 'required|string|max:255', 'partners.*.cpf' => 'required|string|max:20', 'partners.*.social_name' => 'nullable|string|max:255', 'partners.*.role' => 'nullable|string|max:100', 'partners.*.rg' => 'nullable|string|max:30', 'partners.*.birth_date' => 'nullable|date', 'partners.*.participation' => 'nullable|numeric|min:0|max:100', 'partners.*.email' => 'nullable|email|max:255', 'partners.*.secondary_email' => 'nullable|email|max:255', 'partners.*.phone_number' => 'nullable|string|max:20', 'partners.*.cell_number' => 'nullable|string|max:20', 'partners.*.postal_code' => 'nullable|string|max:9', 'partners.*.street' => 'nullable|string|max:255', 'partners.*.address_number' => 'nullable|string|max:20', 'partners.*.neighborhood' => 'nullable|string|max:255', 'partners.*.complement' => 'nullable|string|max:255', 'partners.*.city_id' => 'nullable|integer|exists:cities,id', 'partners.*.state_id' => 'nullable|integer|exists:states,id', 'partners.*.avatar' => 'nullable|image|max:2048', ]; if ($isCreate) { $required = [ 'fantasy_name', 'social_reason', 'cnpj', 'name_responsible', 'street', 'postal_code', 'neighborhood', 'city_id', 'state_id', 'email', 'phone_number', ]; foreach ($required as $field) { $rules[$field] = str_replace('sometimes|required', 'required', $rules[$field]); } } return $rules; } }