CakePHP 3.5.1验证(基于另一个字段的字段更新)

时间:2017-09-03 10:57:19

标签: cakephp cakephp-3.x

以前,我问过以下问题。 当我在编辑屏幕中时,我设置了值"完成"在现场" Project_status",那么我是否有可能强迫我改变领域" Afgehandeld"价值" Arjan"全自动。

因为我无法将我的代码添加到提供的回复中,所以我再次询问,但现在使用我已有的代码。

这段代码不幸无法正常工作

谁可以进一步帮助这个新手?

提前致谢。

<?php 
/* src/template/projecten/index.ctp */ 
        foreach ($projecten as $DB_inhoud):
        ...
        ...
        echo  $DB_inhoud->Project_status;
        echo  $DB_inhoud->Opgeleverd;
        ...
        ...
        endforeach;
?>



<?php 
/* src/template/projecten/edit.ctp */
    ...
    echo $this->Form->select('Project_status', $status, ['escape' => true]);
    echo $this->Form->input('Opgeleverd',['label' => false]);
    ...
    ...
?>


<?php
/* src/Model/Table/ProjectenTable.php */

namespace App\Model\Table;

use Cake\ORM\Table;
use Cake\Validation\Validator;
use Cake\ORM\RulesChecker;

Class ProjectenTable extends Table
{
    Public function initialize (array $config)
    {
        $this->addBehavior('Timestamp');
    }

    public function customValidationMethod($check, array $context)
    {

        $validator->add('Projecten->Opgeleverd', 'custom', 
            ['rule' => function ($value, $context) 
            {
                echo $context;
                if ($context['Projecten->Project_status'] == "100. Project opgeleverd") 
                    {
                        return $value == "Arjan";
                    }
                return true;
            },
            'message' => 'Error message'
            ]);
    }
}

0 个答案:

没有答案