社内用にまとめた内容の転載。 ココらへんの話をします CakePHP3の値チェックは2段階! ValidationとValidation Provider Application Rules Entityに渡す値のチェック(検証)は2段階で行われる CakePHP3では、従来とは大幅に「バリデーション」の機構が変更されました。 これまでModel::save()やModel::delete()時に暗示的に、もしくは明示的にModel::validate()をした際に走っていたデータの検証が、次のような2ステップに分けて扱われます。 Entity作成・更新時に行われる「validation」 Databaseに作用する(insert, update, delete)際に行われる「(application | domain) Rule」 この変化はパッと見とっつきにくいし、 なんぞ…という感じ
![【CakePHP3】バリデーション・アプリケーションルールについて - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/eaa068c16f34536cbb80cad4f494f3134594eb4b/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgwJTkwQ2FrZVBIUDMlRTMlODAlOTElRTMlODMlOTAlRTMlODMlQUElRTMlODMlODclRTMlODMlQkMlRTMlODIlQjclRTMlODMlQTclRTMlODMlQjMlRTMlODMlQkIlRTMlODIlQTIlRTMlODMlOTclRTMlODMlQUElRTMlODIlQjElRTMlODMlQkMlRTMlODIlQjclRTMlODMlQTclRTMlODMlQjMlRTMlODMlQUIlRTMlODMlQkMlRTMlODMlQUIlRTMlODElQUIlRTMlODElQTQlRTMlODElODQlRTMlODElQTYmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTVjMGY4ODI5MDhiYTg5ZTZmMzAwMWZkOTA1ZjBiOTQx%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbzBoJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1jOGI0ZDI4MGUzMWMyNWViZGM2YWUwZjllNWZiZTRjMw%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3De20a846c490d3ba1f98fb748d421d582)