Проверить поле в модели без таблицы (CakePHP) - PullRequest
3 голосов
/ 15 октября 2008

У меня есть модель в CakePHP, у которой нет таблицы, которая называется Upload. В этой модели у меня есть проверка для поля с именем source_id.

У меня есть форма, которая создает красивые $ this-data, давая мне хорошо отформатированный набор, в том числе:

$this->data['Upload']['source_id']

Однако установленное мной правило проверки, похоже, не работает вообще. Я скопировал это правило проверки из другой модели, где оно работает, поэтому я уверен, что оно работает:

var $validate = array(
        'source_id' => array(
        rule' => 'numeric',
        'required' => true,
        'allowEmpty' => false,
        'message' => 'Error!.'
    )
);

Не можете ли вы проверить поля для модели, в которой отсутствует таблица базы данных?

Форма использует модель загрузки и отправляет другому методу действия контроллера.

CakePHP 1.2, PHP / MySQL 5, XAMPP.

Ответы [ 2 ]

10 голосов
/ 15 октября 2008

Я тупой. Вы должны запустить проверку проверки, либо с помощью save () или

$this->Upload->set($this->data);
$this->Upload->validates();

Работает сейчас.

4 голосов
/ 18 ноября 2008

Вы также можете подделать структуру базы данных, установив массив $ _schema, например:

var $useTable = false;

var $_schema = array(
    'name'   =>array('type'=>'string', 'length'=>100), 
    'email' =>array('type'=>'string', 'length'=>255), 
    'phone' =>array('type'=>'string', 'length'=>20),
    'subject'  =>array('type'=>'string', 'length'=>255),
    'message'  =>array('type'=>'text')
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...