簡體   English   中英

CakePHP 3.x自定義驗證(如果實體具有關系)

[英]CakePHP 3.x custom validation if entity has relation

試圖繞過一些稍微復雜的自定義CakePHP驗證規則。

我有必須與City關聯的Posts 一些 (較大的)城市有SubCities 我的Posts表同時具有city_idsub_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM