method()) { case 'POST': { return $this->getPostPutRules(); } case 'PUT': { return $this->getPostPutRules(); } default: { return []; } } } private function getPostPutRules() { $cidadaoRules = array_merge([ 'cidadao.id' => [ 'nullable', 'integer', 'unique:\App\Models\Cadastro\SujeitoAtencao\Paciente,cidadao_id,' . ($this->route('paciente') ?? 'NULL') . ',id,deleted_at,NULL', ], ], CidadaoRequest::getPostPutRules($this)); $rules = array_merge($cidadaoRules, [ 'cadastro_simplificado' => [ 'required', 'boolean', ], 'sem_documentos_em' => [ 'nullable', 'date' ], 'email' => [ 'nullable', 'string', 'between:5,100', 'regex:/(.+)@(.+)\.(.+)/i', ], 'classificacao_id' => [ 'required', 'integer', ], 'subclassificacao_id' => [ 'nullable', 'integer', ], 'validade_inicio' => [ 'nullable', 'date_format:Y-m-d', 'before_or_equal:validade_fim', ], 'validade_fim' => [ 'nullable', 'date_format:Y-m-d', 'after_or_equal:validade_inicio', ], 'prontuario_unidade' => [ 'nullable', 'string', 'max:10', ], 'unidade_id' => [ 'required', 'integer', ], 'alimentos_acabaram' => [ 'nullable', 'boolean', 'required_unless:comeu_alguns_alimentos,null', ], 'comeu_alguns_alimentos' => [ 'nullable', 'boolean', 'required_unless:alimentos_acabaram,null', ], ]); return $rules; } public function messages() { return array_merge(CidadaoRequest::getMessages(), [ 'comeu_alguns_alimentos.required_unless' => 'O campo "Nos últimos três meses, você comeu apenas alguns alimentos que ainda tinha porque o dinheiro acabou?" é obrigatório.', 'alimentos_acabaram.required_unless' => 'O campo "Nos últimos três meses, os alimentos acabaram antes que você tivesse dinheiro para comprar mais comida" é obrigatório.', ]); } }