Maison > Article > développement back-end > 有关Yii框架表单验证的问题。懂Yii的大神请进来看看吧.
我在用Yii做一个简单的小blog,在做后台登陆验证的时候,出现bug,
不提示登陆错误信息,我做的是账号,密码,验证码不能为空。
而且也不与数据库匹配。我已经测试过,数据库连接完全没有问题。
LoginController.php
/**
* 后台登陆控制器
*/
class LoginController extends Controller{
/**
* 后台登陆模板
*/
public function actionIndex(){
$loginForm = new LoginForm();
if(isset($_POST['$LoginForm'])){
$loginForm->attributes = $_POST['LoginForm'];
if($loginForm->validate()){
echo 1;die;
}
}
$this->render('index',array('loginForm' => $loginForm));
}
public function actions(){
return array(
'captcha' => array(
'class' => 'system.web.widgets.captcha.CCaptchaAction',
'height' => 25,
'width' => 80,
'minLength' => 4,
'maxLength' => 4,
'offset' => 3,
'padding' => 1
),
);
}
}
这个是model,User.php
/**
* 后台用户模型
*/
class User extends CActiveRecord{
/**
* 必不可缺的方法一,返回模型
*/
public static function model($className = __CLASS__){
return parent::model($className);
}
/**
* 必不可却的方法二,返回表名
*/
public function tableName(){
return "{{user}}";
}
}
这个是LoginForm.php中的一个方法
public function rules()
{
return array(
// username and password are required
array('username', 'required', 'message' => '用户名不能为空'),
array('password', 'required', 'message' => '密码不能为空'),
// rememberMe needs to be a boolean
array('rememberMe', 'boolean'),
// password needs to be authenticated
array('password', 'authenticate'),
//自定义错误信息
array('captcha', 'captcha', 'message' => '验证码错误'),
);
}
这个是输出错误信息的页面 index.php
if(isset($_POST['$LoginForm'])){ ???
是 if(isset($_POST['LoginForm'])){ 吧
if(isset($_POST['$LoginForm'])){ ???
是 if(isset($_POST['LoginForm'])){ 吧