Qdo o campo não é requerido e vem em branco gera erro
dimasf-dev opened this issue · comments
Olá, na minha aplicação exijo o cpf/cnpj, apenas se um outro determinado campo tiver um valor específico, e nesse caso uso
dessa forma:
'cpf_cnpj' => 'required_if:tipo_cobranca,1,2|cpf_cnpj'
O problema é que ele está validando com o campo em branco.
No caso eu acredito que a validação tenha de ocorrer apenas se tiver informação
Para verificar a formação também dá problemas, mas no caso de adicionar formato_cpf_cnpj, gera exceção na aplicação
Acredito que o PR-112 pode resolver este problema. @dimasf-dev você chegou a debugar na lib se a validação chegava a este ponto que o PR propõe de alteração?
@dimasf-dev pode atualizar o pacote para validar que o erro não está mais ocorrendo?
@dimasf-dev se for possível, add o trecho do código e o log do erro para que tenhamos uma visão mais detalhada do problema.
Olá segue o trecho de código q gera o erro.
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class testController extends Controller
{
public function testValidade(Request $request)
{
$this->validate($request, [
'cpf' => 'cpf|formato_cpf', // caso não seja enviadado valor no campo gera o erro q reportei anteriormente (formato_cpf)
'cnpj' => 'cnpj',
]);
return view('teste');
}
}
O que, ao meu ver, faz total sentido @dimasf-dev . Quando você valida usando 'cpf' => 'cpf|formato_cpf'
você está informando ao validador que um valor está sendo passado para ele, quando na verdade você não está passando dado para ser validado.
Experimenta utilizar esta validação da forma como está descrito no readme:
$this->validate($request, [
'cpf_cnpj' => 'required|cpf_cnpj',
]);
Esta é a forma recomendada para o caso que validamos cpf e/ou cnpj. Vou considerar essa issue como fechada, mas se o erro continuar, peço que reabra.
Não posso por esse campo como requerido, mas quando o usuário informa, preciso validar formato e valor.
que seria esse caso: 'cpf' => 'cpf|formato_cpf'
pra corrigir isso é só na funçao formato_cpf verificar se feio valor, se não tem valor nem testa.
Ah Dimas, legal que você já tem a solução.
Estamos esperando seu PR para essa validação.