Yii 1.1: cpf-validator

A CValidator algorithm for Brazilian CPF registration ID
6 followers

Descrição em Português

Valida entrada através do algoritimo com as regras oficiais de geração de CPF. Aceita apenas CPF válido (sequencias são rejeitadas)

Como usar

  1. Descompacte o arquivo PHP na sua pasta de extensões ou em qualquer outro lugar (Eu usei extensions/validator)
  2. Use o código a seguir dentro do seu Model para validar o campo: Clique para ver

English Description

Validates, by the official algorithm rules, if the input is a valid CPF.

CPF is an oficial brazilian document who every person who is a taxpayer must have. Very common on every commercial form.

Requirements

Yii 1.0 or above

Usage

  1. Extract the PHP file to the extensions folder or any of your choice (I've used ext.validators)
  2. Use the following code to validate the field on the model

Code

class example extends CModel {
    //[....]
    public function rules()
    {
        return array(
            //[....]
            array('cpf_field', 'ext.validators.cpf'),
        );
    }
}

Resources

The original creator of the validation algorithim: Moacir Fernandes

Total 6 comments

#16193 report it
Bianchi at 2014/01/27 07:12am
Allow Empty

@Junior - df9

Acabei fazendo assim mesmo. Seu código pode ajudar alguém, obrigado por postar.

#16192 report it
Junior - df9 at 2014/01/27 07:06am
Allow Empty

Bianchi, sugiro implementar o allowEmpty na classe

class cpf extends CValidator
{
       /**
         * @var boolean whether the attribute value can be null or empty. Defaults to true,
         * meaning that if the attribute is empty, it is considered valid.
         */
        public $allowEmpty=true;
 
//....
//....
 
    protected function validateAttribute( $object, $attribute ){
                $value=$object->$attribute;
                if($this->allowEmpty && $this->isEmpty($value))
                        return;
 
        if ( !$this->validaCPF( $object->$attribute ) )
            $this->addError($object, $attribute, Yii::t('yii','{attribute} não é um CPF válido.'));
    }

Exemplo obtido em https://github.com/yiisoft/yii/blob/1.1.14/framework/validators/CBooleanValidator.php

Espero ter ajudado

Abraços

=)

#16188 report it
Bianchi at 2014/01/27 05:47am
Allow Empty

Alguma maneira de validar apenas se o campo não estiver em branco? No meu caso o CPF não é obrigatório no cadastro, mas se for preenchido quero validar.

#3960 report it
Rodrigo Coelho at 2011/05/24 01:58am
Muito bom

Obrigado!

#3894 report it
Junior - df9 at 2011/05/18 10:35am
Show de bola

Exatamente, mas exatamente mesmo o que eu estava precisando no momento!!

Muito obrigado!

#3850 report it
Ivan Wilhelm at 2011/05/13 02:17pm
Muito bom

Olá

Muito boa e útil esta extensão, porém, acho que a descrição de uso dela, deveria estar em Português uma vez que a grande maioria dos usuários que irão utilizá-la são brasileiros.

Abraços e parabéns pela iniciativa.

Leave a comment

Please to leave your comment.

Create extension