Проверка поля в модели без таблицы (CakePHP)

StackOverflow https://stackoverflow.com/questions/205447

  •  03-07-2019
  •  | 
  •  

Вопрос

У меня есть модель в 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')
);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top