Я не знаю, почему это не работает (я использую 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, и он все еще не работает - пожалуйста, помогите, это так просто, что мне нужно работать...
Может быть, что-то с моей таблицей БД не так???
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 - все, что я написал выше - и валидация не работает!!!