You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
O sanitize altera o valor antes da valiação, porém, como ele não altera o próprio request (e nem faz sentido), a aplicação identifica como válido um valor que na verdade é inválido.
Testei com CNH, mas com certeza deve ocorrer em todas as Rules que também utilizam o sanitize.
A correção é simples, a validação deve ser feita em cima da input bruta e não deve haver nenhuma transformação antes da validação.
The text was updated successfully, but these errors were encountered:
@ptsilva realmente, o bug existe! Já sobre a correção, não acho que a gente deve validar sobre o input bruto, pois estaremos assumindo que o usuário nunca irá enviar informação inválida no request. Acho que a melhor solução aqui é especificar a sanitização em cada caso específico. Tenho em mente uma possível solução, mas preciso de algum tempo para implementar ela. Agradeço sua contribuição!
Obrigado pelo retorno @vicentimartins, acho que podemos pensar um pouco sobre essa questão, veja esse exemplo:
$request = ['cpf' => ' 258.727.290-49 '];
Meu entendimento nesse caso, é que sim, poderíamos aplicar um trim e tornar o valor válido antes da validação ... Mas observe que a lib não deveria alterar o valor 'on the fly' na validação, pois ele não iria alterar o request original...
Dessa forma, passaria na validação e a aplicação ainda sim receberia um valor inválido/duvidoso.
Ou então, como saber se realmente o valor é válido? Pra realmente saber se ele é válido após a validação usando essa estratégia, a aplicação precisaria reaplicar a transformação (trim) e então receber o valor correto.
Veja um caso de duas inputs que são aplicadas a regra de validação para CNH:
Ambos passam na validação, pois a chamada do método sanitize:
validator-docs/src/validator-docs/Rules/Cnh.php
Line 22 in 10b2021
O sanitize altera o valor antes da valiação, porém, como ele não altera o próprio request (e nem faz sentido), a aplicação identifica como válido um valor que na verdade é inválido.
Testei com CNH, mas com certeza deve ocorrer em todas as Rules que também utilizam o sanitize.
A correção é simples, a validação deve ser feita em cima da input bruta e não deve haver nenhuma transformação antes da validação.
The text was updated successfully, but these errors were encountered: