これが機能しない理由がわかりません (私は CakePHP 2.1 を使用しており、2.0 も試しました):
モデルはこちら
class User extends AppModel
{
public $validate = array('username' => array('rule' => 'email'));
}
コントローラーはこちら
class UsersController extends AppController
{
function index()
{
$this->set('users', $this->User->find('all') );
}
function add()
{
if (!empty($this->request->data))
{
if ($this->User->save($this->request->data))
{
$this->Session->setFlash('User has been registered.');
$this->redirect(array('action' => 'index'));
}
}
}
}
ここにビューを追加します
<h1>Add Post</h1>
<?php
echo $this->Form->create('User');
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->end('Register');
?>
そして、それは私が書いたものを検証します...そして、ユーザー名が電子メールかどうかを確認する必要があります...
それは不可能だ!それは働かなければなりません!-しかし、そうではありません...
Cake php 2.0 でもチェックしましたが、まだ動作しません。
多分私のdbテーブルに何か問題がありますか???
CREATE TABLE `users` (
`id` int(10) unsigned not null auto_increment,
`username` varchar(50),
`password` varchar(50),
`created` datetime,
`modified` datetime,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=9;
これは非常に奇妙です-私のアプリフォルダーには、「UserModel.php」、「UserController.php」、「add.ctp」、およびdb構成のみを追加します-上記で書いたものすべて-そして検証は機能しません!!!