Closed felipedsc closed 2 years ago
Obrigado por reportar... na verdade quando criei esta validação, não pensei em lidar com localhost ou IPs, mas de fato faz sentido melhorar isto.
Só precisamos ver qual seria a melhor expressão regular para permitir isto, sem quebrar os projetos que já usam o pacote hoje.
Enquanto isto não acontece, você pode usar o método Matches
e colocar sua expressão regular customizada para URL, como por exemplo:
(?:^|\s)((https?:\/\/)?(?:localhost|[\w-]+(?:\.[\w-]+)+)(:\d+)?(\/\S*)?)
Esta seria a melhor saída no momento.
^(http|https):(\/\/www\.|\/\/www\.|\/\/|\/\/)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$|(http|https):(\/\/localhost:\d*|\/\/127\.[0-255]\.[0-255]\.[0-255])(:[0-9]{1,5})?(\/.*)?$
Já vi seu PR @jhonattan111 em breve vou colocar no ar, muito obrigado <3
Corrigido no PR 95 https://github.com/andrebaltieri/Flunt/pull/95
Tenho um cenário onde estou armazenando URLs que apontam para o meu storage no meu banco. Porém, quando trabalhando localmente, as URLs não são aceitas pelo regex do método IsUrl, conforme pode ser verificado em:
https://regex101.com/r/ugUqs5/1
Caso o comportamento seja intencional, qual poderia ser a melhor maneira para lidar com esse "efeito colateral"? -> Talvez algo como checar o environment ou modo de depuração e aplicar uma validação ou outra?