I have modified my rules to consider all the validations on create or update
public function rules()
{
return array(
array('email, password, confirm_password, realname', 'required','on'=>'create,update'),
array('created_on, lastvisit, created_by, role_id, status', 'numerical', 'integerOnly'=>true),
array('email, realname', 'length', 'max'=>70, 'min' => 7, 'message' => 'Incorrect Email (minimal length 7 symbols).','on'=>'create,update'),
array('password', 'length', 'max'=>128,'min' => 7,'message' => 'Incorrect Password (minimal length 7 symbols).','on'=>'create,update'),
array('confirm_password', 'compare', 'compareAttribute'=>'password', 'message' => 'Retype Password is incorrect.','on'=>'create,update'),
array('email', 'unique', 'message' => 'This user\'s email address already exists.','on'=>'create,update'),
array('realname', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u','message' => 'Incorrect symbols (A-z0-9).','on'=>'create,update'),
array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements(),'on'=>'create,update'),
array('id, email, realname, created_on, lastvisit, created_by, role_id, status', 'safe', 'on'=>'search'),
);
}
Even on delete method confirm_password,verifyCode fields are going for validations even though i have given ‘on’(create and update) parameter for all.