YII框架必须遵循其表单的创建方法
登录模型错做与数据库操作模型是一致的,不同的是不跟数据库交互
,用的是小部件,在创建表单之前,要在用户控制模块完成以下代码
PRotected
--models
--LoginFrom
在这个LoginFrom里面设置标签名
/** * Declares attribute labels. */ public function attributeLabels() { return array( 'username'=>'用户名', 'passWord'=>'密 码', //'rememberMe'=>'Remember me next time', }
接下来创建登陆模型对象(controllers 控制登录模块) $user_login=new LoginForm(); $this ->render('login',array('user_login'=>$user_login));//绿色部分和前台代码$user_login 要一致
接下来创建view视图
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
在前台登录页面可以这么写:
<?php $form=$this->beginWidget('CActiveForm'); ?> <DIV class="to"> <SPAN class="tol"><A class="v" href="/" target=_blank></A></SPAN> </DIV> <DIV class="in"> <DL> <!-- 创建标签名 --> <DT><?php echo $form->labelEx($user_login,'username'); ?></DT> <DD> <!-- 创建文本输入框 --> <?php echo $form->textField($user_login,'username',array('size'=>25,'class'=>'inputBg()'));?> </DD> <DD class="e"></DD> </DL> <DL> <DT><?php echo $form->labelEx($user_password,'password');?></DT> <DD> <?php echo $form->textField($user_password,'password',array('size'=>25,'class'=>'inputBg()'));?> </DD> <DD class="e"></DD> </DL> </DIV> <DIV class="su"> <SPAN><INPUT class="go" type=submit value=""></SPAN> </DIV> <?php $this->endWidget(); ?>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
接下来创建表单数据的验证了
它有两个方法,一个是save方法,一个是validate方法
表单数据验证save()方法可以一边校验数据,校验成功可以存储数据
save() 到后边有一个环节会执行模型的rules()方法,也就校验表单
我们现在用实现登录表单的验证,可以调用validate(),这个方法校验我们输入的信息。节省了save环节,该方法执行的后面也会去执行rules方法
配置校验提示信息(在modle--->loginForm)