简体   繁体   English

如何更改CakePHP 3.x验证错误消息

[英]How to change CakePHP 3.x validation error message

Here is validation function in CakePHP 3.x for PostsTable : 这是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;
}

The form in add view is: 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() ?>

Why is the default validation message always shown instead of the notEmpty message? 为什么总是显示默认验证消息而不是notEmpty消息?

问题已解决,我将validationDefault(Validator $validator)重命名为validationPost(Validator $validator) ,我也在PostsController内部进行了此修改,增加了功能:

$post = $this->Posts->patchEntity($post, $this->request->data,['validate' => 'Post']);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM