1

以下は、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ですか?

4

1 に答える 1

0

問題が修正され、名前が に変更validationDefault(Validator $validator)されました。追加関数validationPost(Validator $validator)内でこの変更も行われました。PostsController

$post = $this->Posts->patchEntity($post, $this->request->data,['validate' => 'Post']);
于 2016-01-23T18:04:29.497 に答える