2017-09-01 114 views
1

我有以下问题。 例如,我有2个输入字段,当字段A的值为“项目完成”时,我想强制字段B必须填写一定的值,比如说“Arjan”CakePHP 3.5.1验证

有没有人有我的解决方案如何做到这一点。

对不起,我可怜的英语,但在此先感谢。

回答

0

看起来这应该在JavaScript(或jQuery)中完成,因为字段A由用户动态更改。一个简单的逻辑或许是:

$("#field_a").on("change", function(){ 
     var field_a = $("#field_a").val(); 
     //if true 
     if(field_a == "done"){ 
     //preferrably, this value should be coming from an associative array. 
     $("#field_b").val("Arjan"); 
     } 
    }); 
1

您可以创建一个custom validation rule

$validator->add('fieldB', 'custom', [ 
    'rule' => function ($value, $context) { 
     if ($context['data']['fieldA'] == "Project done") { 
      return $value == "Arjan" 
     } 
     return true; 
    }, 
    'message' => 'Error message' 
]); 

注意的$context格式可能会有点不同