validateErrors と validationErrors

CakePHP試験中に気付いたことがあって、メモです。

$this->validateErrors自身バリデーション処理している

今まで、save時にバリデーションエラーメッセージををログに出力したり、ビューに返したりする際に$this->validateErrorsを使用していました。
この人自身、関数の中でバリデートしてます。要するに、save()やvalidate()でバリデーションした後、エラーメッセージ取りに行く際にもう一回バリデーションしてるんです。(知らなかった。)

[Model]->validationErrors

そこで、2.0のドキュメントをみていたらありました。
これで、save/validatesの後、バリデーションエラーのメッセージを配列で返してくれます。(1.3系でも2.x系でも使えます。)

validate関数は使わず

バリデーション時のエラーメッセージが必要な際は、以下の2通りで試してください。
A. save()もしくは、validates()でそのあと、Model->validationErrorsで取得。(上のやりかた)
B. Model->invalidFields()
これは、バリデーションしてくれて尚且つ、エラーメッセージをそのまま返してくれます。

  • このエントリーをはてなブックマークに追加

関連記事

no image

Sessionコンポーネント

ソース: /cake/libs/controller/components/session.php read read($name = null) セッションの情報を読み込みます。 $

no image

Secutiryユーティリティ

CakePHPでは、データのハッシュ化もしくは暗号化のためのメソッドSecurityユーティリティが用意されています。 ソース: /cake/libs/security.php Security:

ログインに追加の条件を付与する「userScope」

「ユーザ登録」の続きです。 ユーザ登録後、activate(statusを0に設定するを)せずに「仮登録」のままで、正しいusernameとpasswordでログインを試したところ認証に引っかかって

複数ファイルアップロード

CakePHPで複数ファイルのアップロードについて調べてみました。といっても普通のPHPのコードと同じではありますが、postするフィールド名に[]を付与して配列にします。 view

no image

recursive設定によるfind()性能改善

CakePHPでは、モデルにアソシエーションを設定している場合、recursive(=>joinする階層)はデフォルトで0に設定されています。「recursiveゼロ」の意味するところとは、「1跨ぎま

複数データベースの追加と切替

CakePHPで複数のデータベースに切替を行うということがあると思います。(個人的にはあまりない) 今回、CakePHPからWordpressのデータベースへの接続を行う機会があったので設定を試して

CakePHP 1.3 インストール

使い古されている手ではありますが、表題の件とレンタルサーバへの配置方法などにも使えますので参考にしていただけたらと思います。 まずはレンタルサーバでCakePHPを動作させる CakePHPア

no image

Jsヘルパーを使用してAjax更新

更新処理でページ遷移を伴う場合、ページ全体をレスポンスするのに対して、Ajax処理ではページの一部のレスポンスが可能となるためサーバからの通信量を抑えることが可能となります。 Jsヘルパーを使用して

no image

独自のバリデーションルール

CakePHPで組み込みバリデーションをつくる方法は色々あります。 参考:Data Validation — CakePHP Cookbook v1.3 documentation 上記リンク内に

no image

ユーザ登録(仮登録・メール・本登録)

ここ最近は、メールアドレスだけでなく、SNSのアカウントと連携してユーザ登録することもできるWebサービスが増えてきましたね。ユーザは割合としてどちらを選んでるのか気になるところですが。私はできるだけ

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

    PAGE TOP ↑