當我動態構建表單元素時,我希望能夠通過自定義驗證規則檢查並查看是否需要表單字段。問題是,當我添加自定義驗證規則時,它強制該字段不爲空。如果我允許該字段爲空,它不會檢查我的自定義驗證器,除非在該字段中輸入內容。CakePHP 3.x自定義驗證字段必需
如何根據需要檢查回撥是否允許字段?
在我SubmissionsTable
public function validationDefault(Validator $validator)
{
$validator
->add("custom_value_q", [
"custom" => [
"rule" => [$this, "customFieldIsRequired"],
"message" => "Message Here"
]
]
);
return $validator;
}
public function customFieldIsRequired($value, $context)
{
//logic here
return true;
}
馬克,這就是我已經設置。我在自定義函數中返回true(用於測試),並且當沒有輸入任何內容時,字段仍然無法驗證(除非用戶輸入某些數據,否則甚至不調用自定義驗證器函數)。我希望能夠在我的自定義函數中確定該字段是否允許爲空。我也嘗試了allowBlank,但得到'未定義的方法'。任何其他想法? – wilsmex
任何其他想法?我似乎無法弄清楚這一點。 – wilsmex
我非常渴望這個問題的答案以及@wilsmex。花了幾個小時與驗證者作戰之後,我開始了這個事情,這只是Cake中的一個錯誤,並且令人沮喪的是對這些問題的關注很少。 – theraccoonbear