Проверка поля в модели без таблицы (CakePHP)
Вопрос
У меня есть модель в 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.
Решение
Я тупой.Вы должны запустить проверку достоверности либо с помощью функции save(), либо
$this->Upload->set($this->data);
$this->Upload->validates();
Сейчас работаю.
Другие советы
Вы также можете подделка структуру базы данных, установив массив $_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')
);