Open
Description
Sugiro a refatoração do aquivo ValidatorProvider para ond ele extenda as validações já existentes no laravel sem substituir a resolução da validação (código citado), fazendo isso tambem seria nescessario refetorar as rules, abaixo segue exemplo.
validator-docs/src/validator-docs/ValidatorProvider.php
Lines 27 to 34 in 19ebbc9
Exemplo de provider
use App\Rules\Base64ImageRule;
use App\Rules\CheckBilletDueDateRule;
use App\Rules\CheckBilletPaymentRule;
use App\Rules\CheckCreditCardInstallmentsRule;
use App\Rules\CheckInstallmentsRule;
use App\Rules\EnumRule;
use Illuminate\Support\ServiceProvider;
use Validator;
class ValidationServiceProvider extends ServiceProvider
{
protected array $rules = [
'enum' => EnumRule::class,
'base64_image' => Base64ImageRule::class,
'check_installments' => CheckInstallmentsRule::class,
'billet_value_paid' => CheckBilletPaymentRule::class,
'billet_due_date' => CheckBilletDueDateRule::class,
'check_installments_count' => CheckCreditCardInstallmentsRule::class,
];
/**
* @return void
*/
public function boot(): void
{
$this->registerValidationRules();
}
/**
* @return void
*/
private function registerValidationRules(): void
{
foreach ($this->rules as $alias => $class) {
if (is_string($alias)) {
Validator::extend($alias, "$class@passes");
}
}
}
}
Este exemplo tirei de um projeto que fiz
Prós
- Maior compatibilidade com as versoes do Laravel (pelo menos do meu ponto de vista)
- Suporte a customização dos attibutes
- Suporte a customização das mensagens por arquivos de tradução
- Resolução da issue Substituição de mensagens de erro #133
Contras
- Trabalho para refatorar (posso ajudar)
- Possivel perda de retrocompatibilidade (brakingchange)
- Possiveis erros/problemas que eu ainda não encontrei
Metadata
Metadata
Assignees
Labels
No labels