[英]CakePHP 3.x custom validation if entity has relation
試圖繞過一些稍微復雜的自定義CakePHP驗證規則。
我有必須與City
關聯的Posts
一些 (較大的)城市有SubCities
。 我的Posts
表同時具有city_id
和sub_city_id
,因此在某些情況下, sub_city_id
將為Null。
我有一個很好的ajax表單,可以加載並允許您選擇SubCity
如果您首先選擇的是一個City
。 我想編寫一個驗證規則,以便在city_id
字段上可用sub_city_id
的情況下, SubCities
不能為Null。
對解決此問題的最佳方法有幫助嗎?
您是否嘗試過查看手冊? 了解有關條件驗證的信息
定義驗證規則時,可以使用on鍵定義何時應應用驗證規則。 如果未定義,則將始終應用該規則。 其他有效值將被創建和更新。 使用這些值之一將使規則僅適用於創建或更新操作。
此外,您可以提供一個可調用函數,該函數將確定是否應應用特定規則:
$validator->add('picture', 'file', [
'rule' => ['mimeType', ['image/jpeg', 'image/png']],
'on' => function ($context) {
return !empty($context['data']['show_profile_picture']);
}
]);
↑這個例子取自本書。 因此,根據您的需要進行修改。 在回調中放入檢查城市的邏輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.