Вот функция проверки в CakePHP 3.x для PostsTable
:
public function validationDefault(Validator $validator)
{
$validator
->add('id', 'valid', ['rule' => 'numeric'])
->allowEmpty('id', 'create');
$validator
->requirePresence('title', 'create')
->notEmpty('title','Please fill Title field');
$validator
->requirePresence('content', 'create')
->notEmpty('content','Please add a Content');
return $validator;
}
Форма в представлении add
:
<?= $this->Form->create($post) ?>
<fieldset>
<legend><?= __('Add Post') ?></legend>
<?php
echo $this->Form->input('title');
echo $this->Form->input('content');
echo $this->Form->input('category_id', ['options' => $categories]);
?>
</fieldset>
<?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>
Почему вместо сообщения notEmpty
всегда отображается сообщение проверки по умолчанию?
validationDefault()
вообще вызывается? Также какую точную версию CakePHP вы используете? - person ndm   schedule 10.01.2016validationDefault(Validator $validator)
вvalidationPost(Validator $validator)
, я также сделал эту модификацию внутриPostsController add function
:$post = $this->Posts->patchEntity($post, $this->request->data,['validate' => 'Post']);
- person Br.sasa   schedule 10.01.2016