Cookbookのバリデーション - 3.5から必要な部分を抜粋。
下記のサイトも参考になった。
バリデーションをマスターする(2/6):初心者のためのCakePHP3 プログラミング入門 - libro
requirePresence
バリデーションの対象配列について、 フィールドが実在することをチェックする。モードはtrue, false , create, updateの4つ。デフォルトはtrue。nullは存在する扱い。
キーの存在は、 array_key_exists() を用いることによりチェックされるため、 null 値は、「存在する」としてカウントされます。モードにについては、2番目のパラメーターを用いることにより設定できます。
- true:フィールドが存在することが常に求められる。
- false:フィールドが存在することは必要なくなる。
- create:create実行時にフィールドが存在することが求められる。
- update:update実行時にフィールドが存在することが求められる。
使い方
<?php $validator->requirePresence('author_id', 'create');
notEmpty
フィールドが空欄であったときに無効とする。 空欄を認める場合は、allowEmpty()を使う。モードはfalse , create, updateの3つ。
- false:フィールドが空欄であることを認めない。
- create:create実行時にフィールドが空欄であることを認めない。
- update:update実行時にフィールドが空欄であることを認めない。
'' や、 null 、そして [] といった値(空の配列)は認められない。
使い方
<?php $validator->allowEmpty('published') ->notEmpty('title', 'A title is required') ->notEmpty('body', 'A body is required', 'create') ->allowEmpty('header_image', 'update');