以前,我问过以下问题。 当我在编辑屏幕中时,我设置了值"完成"在现场" 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'
]);
}
}