CakePHP 3.5.1验证

时间:2017-09-01 15:21:51

标签: cakephp

我有以下问题。 我有例如2个输入字段,当字段A的值为"项目已完成"我想强迫那个字段B必须填充一定值,然后说“#Ar;"

是否有人为我提供了如何实现这一目标的解决方案。

抱歉我的英语不好,但提前谢谢。

2 个答案:

答案 0 :(得分: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的格式可能略有不同

答案 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"); 
      }
   });