O Guia Definitivo do Yii 1.1
O Guia Definitivo do Yii 1.1
O Guia Definitivo do Yii 1.1
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
• match: alias para CRegularExpressionValidator, garante que o da<strong>do</strong> informa<strong>do</strong> casa<br />
com um expressão regular.<br />
• numerical: alias para CNumberValidator, garante que o da<strong>do</strong> informa<strong>do</strong> é um número<br />
váli<strong>do</strong>.<br />
• required: alias para CRequiredValidator, garante que o valor <strong>do</strong> atributo não está<br />
vazio.<br />
• type: alias para CTypeValidator, garante que o atributo é de um tipo específico.<br />
• unique: alias para CUniqueValidator, garante que o da<strong>do</strong> informa<strong>do</strong> é único na<br />
coluna da tabela <strong>do</strong> banco de da<strong>do</strong>s informada.<br />
• url: alias para CUrlValidator, garante que o da<strong>do</strong> informa<strong>do</strong> é uma URL válida.<br />
Abaixo listamos alguns exemplos da utilização de valida<strong>do</strong>res predefini<strong>do</strong>s:<br />
// username é obrigatório<br />
array('username', 'required'),<br />
// username deve ter entre 3 e 12 caracteres<br />
array('username', 'length', 'min'=>3, 'max'=>12),<br />
// quan<strong>do</strong> estiver no cenário register, password deve ser igual password2<br />
array('password', 'compare', 'compareAttribute'=>'password2',<br />
'on'=>'register'),<br />
// quan<strong>do</strong> estiver no cenário login, password deve ser autentica<strong>do</strong><br />
array('password', 'authenticate', 'on'=>'login'),<br />
Atribuição Segura de Atributos<br />
Nota: a atribuição de atributos baseada em cenários está disponível desde a versão<br />
1.0.2 <strong>do</strong> framework.<br />
Normalmente, depois que uma instância de um modelo é criada, precisamos popular seus<br />
atributos com as informações enviadas pelo usuário. Isso pode ser feito de uma maneira<br />
conveniente, utilizan<strong>do</strong> a atribuição em massa, como pode ser visto no código abaixo:<br />
$model=new LoginForm;<br />
$model->scenario='login';<br />
if(isset($_POST['LoginForm']))<br />
$model->attributes=$_POST['LoginForm'];<br />
Nota: A propriedade scenario está disponível desde a versão 1.0.4. A atribuição em<br />
massa irá utilizar o valor dessa propriedade para determinar quais atributos podem ser<br />
atribuí<strong>do</strong>s dessa maneira. Nas versões 1.0.2 e 1.0.3, para fazer a atribuição em massa<br />
em um cenário específico, deveríamos proceder da seguinte maneira:<br />
$model->setAttributes($_POST['LoginForm'], 'login');