Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou escrevendo uma classe de validação... tive um problema com campo 'required-no'. Roda o loop para cada metodo numa boa, para 'required' ele entra no erro caso seja null, mas pro caso de ser 'required-no' ele entrava nos outros metodos e obviamente retornava erro
esse é o array contendo as regras
Array
(
[required] => true
[between] => 2, 5
[in] => 3, 6
)
resolvi com um if:
if( ! in_array( 'required' , array_keys( $regras ) ) and $this-> isnull( $valor ) )
{
// sem verificação
}
else
{
foreach( ... )
{
//executa os metodos
}
}
se 'required' estiver nas regras e se o valor nao for nulo ele retorna true, caso contrario executa os metodos da regra...
ha outra forma de se fazer?
achei uma classe no gHub
mas como eu defino que um campo pode ser nulo?
O empty do PHP verifica se um valor está em branco ou não. O isset verifica se foi mandado.
Qual classe?
No próprio GitHub tem o manual de como usar os componentes do Respect, o validador que você se refere é o NullValue :seta: https://github.com/Respect/Validation#vnullvalue
No caso de fazer assim, você perderia a flexibilidade de criar novos validadores facilmente porque teria que editar a classe para isso -> violação do OCP.
Dê uma olhada no Respect\Validation, é exatamente o que você procura.