Hi all! I’m having some trouble getting my attribute labels to display on my signup form. The form observes the requirements from rules(), but pulls nothing from attributeLabels()
Model:
<?php
class SignUp extends CFormModel
{
public $email;
public $password;
public $password2;
public $address;
public $city;
public $state;
public $zipcode;
public $phone;
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('email, address, city, state, zipcode, phone', 'required'),
array('password2, password', 'required', 'on'=>'confirm'),
array('password', 'compare', 'compareAttribute'=>'password2'),
array('email', 'email'),
array('zipcode, phone', 'numerical', 'integerOnly'=>true),
array('phone', 'length', 'max'=>10, 'min'=>10),
array('email', 'length', 'max'=>65),
array('password', 'length', 'min'=>5, 'max'=>100),
array('address', 'length', 'max'=>95),
array('state', 'length', 'max'=>2, 'min'=>2),
// The following rule is used by search().
// Please remove those attributes that should not be searched.
array('email, password, firstName, lastName, address, city, state, zipcode', 'safe', 'on'=>'search'),
);
}
public function attributeLabels()
{
return array(
array('email' => 'E-mail'),
array('password' => 'Password'),
array('password2' => 'Repeat Password'),
array('address' => 'Address'),
array('city' => 'City'),
array('state' => 'State'),
array('zipcode' => 'Zip Code'),
array('phone' => 'Phone'),
);
}
}
?>
Form View:
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'signup-form',
'enableAjaxValidation'=>false,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'email'); ?>
<?php echo $form->textField($model,'email',array('size'=>60,'maxlength'=>65)); ?>
<?php echo $form->error($model,'email'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'password'); ?>
<?php echo $form->passwordField($model,'password',array('size'=>15,'maxlength'=>15)); ?>
<?php echo $form->error($model,'password'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model, 'password2'); ?>
<?php echo $form->passwordField($model,'password2',array('size'=>15,'maxlength'=>15)); ?>
<?php echo $form->error($model,'password2'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model, 'address'); ?>
<?php echo $form->textField($model,'address',array('size'=>60,'maxlength'=>65)); ?>
<?php echo $form->error($model,'address'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model, 'city'); ?>
<?php echo $form->textField($model,'city',array('size'=>25,'maxlength'=>25)); ?>
<?php echo $form->error($model,'city'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model, 'state'); ?>
<?php echo $form->textField($model,'state',array('size'=>2,'maxlength'=>2)); ?>
<?php echo $form->error($model,'state'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model, 'zipcode'); ?>
<?php echo $form->textField($model,'zipcode',array('size'=>5,'maxlength'=>5)); ?>
<?php echo $form->error($model,'zipcode'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model, 'phone'); ?>
<?php echo $form->textField($model,'phone',array('size'=>10,'maxlength'=>10)); ?>
<?php echo $form->error($model,'phone'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton('Sign Up'); ?>
</div>
<?php $this->endWidget(); ?>