Validações já inclusas no SuitUp

O SuitUp já vem com diversos tipos de validações de formulário prontos para serem utilizados, confira abaixo a lista desses métodos.

notEmpty isEmail isCep
minLen maxLen maiorQue
menorQue identico inArray

notEmpty

Ao utilizar este método de validação o valor do campo no formulário não pode estar vazio. Internamente o if para este método avalia com !$value, ou seja, para o PHP vazio (false) é o mesmo que: - String vazia - String com valor 0 numérico - inteiro igual a zero - float ou double igual a zero - boolean igual a false - array sem elementos - tipo NULL

Consulte a referência no manual PHP

Exemplo:

1
2
3
4
5
// File: ModuleDefault/Form/Index/Index.php

protected $data = array(
    'name' => array('validation' => array('notEmpty'), 'filter' => array()),
);

isEmail

Este método avalia se o valor do campo é correspondente a um endereço de e-mail. Para isso utiliza a expressão regular:

1
"/^[a-zA-Z0-9][a-zA-Z0-9\._-]+@([a-zA-Z0-9\._-]+\.)[a-zA-Z-0-9]{2}/"

Este método não avalia se o endereço de e-mail realmente existe, apenas se ele tem o formato de um endereço de e-mail

Exemplo:

1
2
3
4
5
// File: ModuleDefault/Form/Index/Index.php

protected $data = array(
    'name' => array('validation' => array('isEmail'), 'filter' => array()),
);

isCep

Verifica se o número de um CEP é considerado válido no formato 99999-999. Este método não verifica se o campo está vazio, ou seja, ele não validará nem apresentará erro caso o campo chegue vazio, para isso utilize o método notEmpty

Exemplo:

1
2
3
4
5
// File: ModuleDefault/Form/Index/Index.php

protected $data = array(
    'name' => array('validation' => array('isCep', 'notEmpty'), 'filter' => array()),
);

minLen

Verifica se um campo do formulário é menor que um dado valor. Este método irá invalidar qualquer valor menor que o valor indicado como parâmetro.

Aceita parâmetros size e message.

Exemplo:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
// File: ModuleDefault/Form/Index/Index.php

protected $data = array(
    // Neste caso irá verificar se o campo contém pelo menos 6 caractéres
    'name' => array('validation' => array('minLen' => 6), 'filter' => array()),

    // Neste caso irá verificar se o campo contém pelo menos 8 caractéres
    // e com mensagem personalizada
    'name2' => array(
        'validation' => array('minLen' => array(
            'size' => 8,
            'message' => 'Uma mensagem personalizada',
        )), 'filter' => array()),
);

maxLen

Verifica se um campo do formulário é maior que um dado valor. Este método irá invalidar qualquer valor maior que o valor indicado como parâmetro.

Aceita parâmetros size e message.

Exemplo:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
// File: ModuleDefault/Form/Index/Index.php

protected $data = array(
    // Neste caso irá verificar se o campo contém pelo no máximo 18 caractéres
    'name' => array('validation' => array('minLen' => 18), 'filter' => array()),

    // Neste caso irá verificar se o campo contém no máximo 20 caractéres
    // e com mensagem personalizada
    'name2' => array(
        'validation' => array('maxLen' => array(
            'size' => 20,
            'message' => 'Uma mensagem personalizada',
        )), 'filter' => array()),
);

maiorQue

O valor deste input deve ser maior que do target.

Este método compara o valor do input do formulário ao valor de outro input do mesmo formulário. A comparação que este método realiza é matemática, ou seja, o valor que deve ser incluído neste input bem como no target deve ser no seguinte formato 999.999,99. Isto porque a ideia é realizar comparação de valores monetários.

Aceita parâmetros target e message.

Exemplo:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
// File: ModuleDefault/Form/Index/Index.php

protected $data = array(

    // Compara diretamente se o campo name > name3
    'name' => array('validation' => array('maiorQue' => 'name3'), 'filter' => array()),

    // Compara se o campo name2 > name3 e ainda personaliza a mensagem de erro.
    'name2' => array('validation' => array('maiorQue' => array(
        'target' => 'name4',
        'message' => 'Esta é uma mensagem personalizada',
    )), 'filter' => array()),
);

menorQue

O valor deste input deve ser menor que do target.

Este método compara o valor do input do formulário ao valor de outro input do mesmo formulário. A comparação que este método realiza é matemática, ou seja, o valor que deve ser incluído neste input bem como no target deve ser no seguinte formato 999.999,99. Isto porque a ideia é realizar comparação de valores monetários.

Aceita parâmetros target e message.

Exemplo:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
// File: ModuleDefault/Form/Index/Index.php

protected $data = array(

    // Compara diretamente se o campo name < name3
    'name' => array('validation' => array('menorQue' => 'name3'), 'filter' => array()),

    // Compara se o campo name2 < name3 e ainda personaliza a mensagem de erro.
    'name2' => array('validation' => array('menorQue' => array(
        'target' => 'name4',
        'message' => 'Esta é uma mensagem personalizada',
    )), 'filter' => array()),
);

identico

Uma situação muito comum é comparar dois campos de um mesmo formulário que devem ser idênticos. Senha e confirmação de senha, por exemplo, para garantir assim que o usuário não vai cadastrar a senha errado. Este método compara se dois campos do formulário são exatamente iguais.

Aceita os parâmetros target e message.

Exemplo:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
// File: ModuleDefault/Form/Index/Index.php

protected $data = array(

    // Compara se o valor do input name == name2
    'name' => array('validation' => array('identico' => 'name2'), 'filter' => array()),

    // Compara se o valor do input name3 == name4
    'name3' => array('validation' => array('identico' => array(
        'target' => 'name4',
        'message' => 'Uma mensagem personalizada',
    )), 'filter' => array()),
);

inArray

Qualquer usuário pode editar o HTML de uma página em tempo real para injetar valores em um <select> o que pode significar uma falha de segurança, para isso este método de validação verifica se o valor que veio do post é parte da lista de valores possíveis para este campo.

Este método necessita obrigatoriamente um array com a lista de valores possíveis para este campo.

Exemplo:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// File: ModuleDefault/Form/Index/Index.php

protected $data = array(

    /** 
     * Vamos assumir que o Select do formulário seria gerado a partir do seguinte array:
     * array(
     *      '' => 'Selecione!',
     *      1 => 'Paraná',
     *      2 => 'São Paulo',
     *      3 => 'Minas Gerais',
     *      4 => 'Bahia',
     * )
     */

    'name' => array('validation' => array('inArray' => array(
        '',
        1,
        2,
        3,
        4,
    )), 'filter' => array()),
);