私の MemberAction コードは
<?phpclass MemberAction extends Action{ public function insert() { header('Content-Type:text/html; charset=utf-8'); $Member = D('developers'); if($Member->create()) { $result = $Member->add(); if($result) { $this->success('注册成功!'); }else{ $this->error('注册失败!'); } }else{ $this->error($Member->getError()); } } }?>です
<?phpclass MemberModel extends Model { protected $_validate = array( array("username","require","用户名不能为空"), array('username','','帐号名称已经存在!',0,'unique',1), array("username","checkLength","用户名长度不符合要求",0,'callback'), array('name','require','名字必须'), array("password","require","密码不能为空"), array("password","checkLength","密码长度的要求是5~15位之间",0,'callback'), array('repassword','password','两次密码输入不一致',0,'confirm'), ); protected $_auto = array( array('status', '1', self::MODEL_INSERT), array('create_time', 'time', self::MODEL_INSERT, 'function'), ); }?>です
$Member = D('developers'); カスタム モデル クラスの削除者がないため、Model 基本クラスがインスタンス化されます。したがって、MemberModel の検証は有効になりません。
では、どう変えるべきでしょうか?
$Member = D('Member');
$Member = D('Member');
はい、変更しましたが、データ テーブルは開発者のため、自動的に検証されますが、検証されませんでした。登録した内容をデータベースに追加するにはどうすればよいですか?
MemberModel を追加します: protected $tableName = 'developers';