cakephp3でtableクラスにバリデーションを書いたのですが、うまく動きません。
やりたいこと
postされたnameがdetailのフィールドが空の場合、エラーメッセージを表示したい。
php
1public function validationDefault(Validator $validator) 2 { 3 $validator 4 ->requirePresence('detail') 5 ->notEmpty('detail'); 6 7 $errors = [ 8 'detail' => ['please enter detail.'] 9 ]; 10 11 12 return $validator; 13 }
php
1 $article = $this->Articles->newEntity($this->request->getData()); 2 if ($article->errors()) { 3 4 echo 'エラー'; 5 }
バリデーションルールに適合しない入力がなされた場合、エラーメッセージをhtml5の標準のバリデーションのような形で表示したいのですが、controller側でどのようにかけばよろしいでしょうか。
追記:ちなみにnewEntityが呼ばれたタイミングでバリデーションが走って、バリデーションエラーなら、
php
1if ($article->errors()) {
の判定がtrueになると思うのですが、いかがでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/16 19:59
2017/05/16 20:01 編集