2017-09-01 7 views
1

私は以下の質問があります。 フィールドAに "Project done"の値がある場合は、例えば2つの入力フィールドがあります。フィールドBには特定の値が入力されていなければなりません "Arjan"と言うようにしてください。CakePHP 3.5.1検証

誰にでも私のこれを達成する方法。

申し訳ありませんが、私の英語は貧弱ですが、事前に感謝します。

答えて

0

フィールドAはユーザーによって動的に変更されるため、これはjavascript(またはjquery)で行う必要があります。おそらく、単純な論理:

$("#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を作成することができます:$contextのフォーマットは

少し異なる場合がありますことを

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

注意