• ベストアンサー

cakePHPでvalidateの結果を取得したい

最近cakePHPの勉強を始めました。 入力フォームで、入力エラーの表示をカスタマイズしたいので、 エラー項目の内容を取得したいのです。 たとえば、 エラー項目のテキストボックスの背景に色をつけたり、 フォーム上部にエラー項目を列挙してリンクを張り、リンクをクリックすると該当のテキストボックスに飛ばせるなどという感じです。 いろいろネット検索したのですが、ほしい情報にたどり着くことができませんでした。 ご存じの方、ご教授のほどよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#94983
noname#94983
回答No.1

今、手元にCakePHPがないんで試してないんだが。 コントローラーで、 $error = $this->validateErrors($this->モデル); で取得した$errorの配列を繰り返しでチェックしていけばわかるんじゃないか。

seiroku55
質問者

お礼

できました。 たすかりました。ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • CakePHPのバリデーションエラー表示について

    CakePHPの入力フォーム作成中で、バリデーションエラーがあった場合、{$form->error('')}で各項目部分にエラーを表示させています。 しかし入力項目が多いため、ページ下部でエラーが発生しても、エラーが起きているのかどうかひと目では分かりません。 1つでもバリデーションエラーがあったとき、ページ上部にエラーメッセージ表示をするにはどうすればよいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • cakephpのバリデーションについて。

    cakephpのバリデーションについて。 windowsxp環境にxamppをインストール php:5.3.1 cakephp:1.2.6 mysql:5.1.41 書籍を読みながらcakephpを始めました。 現在 フォームで入力された項目に該当する データをmysqlのデータベースで検索後、 結果をビューに表示するものを作っています。 フォームヘルパーを使用し、inputされたデータを コントローラ側で受け、その値をモデルで検索後 ビューへ渡しています。 このようなデータベースに保存は行わない検索だけの場合 フォームに入力されたデータをcakePHPのバリデーション機能 を利用してチェックできるのでしょうか? ビューでは $form->input('form.text1'array('label'=>'検索対象1')); $form->input('form.text2'array('label'=>'検索対象2')); としています。 このform.text1とform.text2について未入力の場合など エラーチェックが行いたいです。 そもそもこのような場合のエラーチェックは コントローラーに処理を記述しバリデーションは利用しないのかなど、 どなたかアドバイスいただけると助かります。

    • ベストアンサー
    • PHP
  • ACCESS2000 あいまい検索の結果からデータをフォームに取得

    MSACCESS2000にてフォームを作り、テキストボックスに入力された文字で、データをあいまい検索し、複数表示するようになってます。like [テキストボックス]&"*" 複数表示されたデータから1つを選択し、フォームのテキストボックスに取得することは可能なのでしょうか? ACCESSを始めたばかりで、いろいろ調べたりしているのですが、可能かどうかが知りたいのです。どうか宜しくお願いします。

  • CakePHP + AjaxでWebアプリを開発しています。

    CakePHP + AjaxでWebアプリを開発しています。 ある登録画面にて、ひとつの入力項目がセレクトボックスになっています。セレクトボックスの中身はマスターテーブルから取得。通常はその中から選択してもらうのですが、欲しい選択肢が無い場合は、その場でマスターに追加登録できるようにしたいと思っています。 追加登録用のテキストボックスを用意し、$ajax->formで送信して、セレクトボックスの中身を最新の状態にすることはできたのですが、このテキストボックスが属すフォームはこの登録画面全体の フォームの中に入れられない(ネストできない)ので、テキストボックスとセレクトボックスを並べて表示することができません。このような場合は、スタイルシートで何とかするべきなのでしょうか?スマートな方法が見つからず、困っています。 また上とは別の方法も検討しています。というのは、テキストボックス自体が通常の登録作業には不要なので、常時表示している必要がありません。ですので、window.promptのプロンプトで追加したい文字列を受け取り、$ajax->observeForm内のhidden項目に値をセットするようにしたのですが、変更を認識してくれないようで、イベントが発生せず、submitされません。hiddenに値をセットした後、無理矢理フォームをsubmitさせると、画面自体が遷移してしまいます。試しに、hiddenをテキストボックスにして、直接入力すると、ロストフォーカス時にイベントが発生します。hidden項目のchangeイベントを無理矢理発生させるか、画面遷移をさせずにsubmitする方法はないものでしょうか? 以上、何か良い方法を御存知でしたらご教示いただけないでしょうか。よろしくお願いいたします。

  • VB2008で曜日を取得する方法

    VB2008初心者ですがよろしいでしょうか 曜日の取得方法について教えて下さい ユーザーフォーム上の テキストボックスに、任意の生年月日を 入力し、ボタンをクリックした時に、生年月日 の曜日を取得したいのですが、可能でしょうか WeekdayName関数を使えばできるような感じですが 使い方が分かりません よろしくお願いします 1.テキストボックスに   2009-08-13   と入力しボタンをクリックする 2.メッセージボックスに   曜日を表示する

  • Word リンク貼り付けについて

    お世話になります。 Word2002を使用しています。 フィールドフォームを使用して、契約書や申請書などベースとなる書式を下記のように作成していますが、 ・氏名や住所など、その都度入力内容が異なる項目はテキストボックスを設置。 ・その都度入力内容が異なる項目(テキストボックス配置)のなかで、何度も同じ内容を入力しなければならない項目は、リンク貼り付けを使用。 ・完成後は、フォームの保護をクリック。 データを開いたときに表示される更新確認で、「はい」をクリックした場合は、 リンク貼り付けした数カ所で「エラー!リンクが正しくありません。」となり、 「いいえ」をクリックした場合は、エラー表示はないが入力内容を変更しても自動更新(設定では自動更新になっています)しません。 「はい」「いいえ」どちらにしても、リンク貼り付けの自動更新がスムーズに機能せず、 その都度フォームの保護を解除してから、エラー表示された(又は更新されない)リンク貼り付け箇所を選択し、F9を押して更新させています。 何か設定方法が間違っているのでしょうか? お手数ではございますが、よろしくお願いいたします。

  • ACCESS2000の帳票フォームでテキストボックスの入力値を取得したい

    こんにちは。ACCESS2000でツールを作成しています。 テーブルはExcelにリンクさせ、クエリを介して帳票フォームで データを表示しています。 帳票フォームのレコード毎にテキストボックスを追加して それぞれ入力できるようにし、その値をVBAで取得したいのですが どうすればよいでしょうか。 テキストボックスを追加して実行すると、一つのテキストボックスに 入力した値が全てのレコードに反映されているようです。 帳票フォームのしくみがよく分かりません。 どなたか教えていただけないでしょうか。 宜しくお願いします。

  • ハイパーリンクでのクリックイベントの取得

    任意のセルに対して HYPERLINK 関数でリンクをはったものについては、 マウスからのクリックイベントを Worksheet_FollowHyperlink で 取得できることはわかったのですが図形描画バーのテキストボックスに対して メニューからのハイパーリンクで実施したリンクに対して Worksheet_FollowHyperlink で取得できない状態です。 テキストボックスに対しての HYPERLINK 関数の使用法について 使えるのかすらわからず、メニューからの方法しか わからなかったのですがこの場合のリンクでは取得できない状態のようです。 メニューはツールバー -> 挿入からものかテキストボックスを 選択して右クリックで表示されるメニューからで同じシート内で 任意のセルを指定する形です。 テキストボックスにリンクをはりクリックイベントを取得するには どうしたらいいのでしょうか?

  • PHPでformで送信された結果のページを取得

    例えば、 http://www.example.com/test のページに、以下のようなフォームがあり、 <form name="form" method="post"> <input type="text" name="key" value="" /> <input type="submit" name="submit" value="送信" /> </form> 例えば、文字数をカウントするプログラムを作ったとして、 テキストBOXに適当な文字、例えば「テスト」と書いて送信をクリックすると、 URLをそのままで、テキストBOXに入力された「テスト」の文字数である「3」と表示するような事をPHPで作ったとします。 これは、手動で実際に入力して送信をクリックしなくても、 PHPで操作して、結果ページの情報を取得することって可能ですか? PHPでテキストに書く文字を指定して、(仮想的に)送信を押して、表示されるページのHTMLソースを取得したいのです。 もし可能でしたらお願いします。

    • ベストアンサー
    • PHP
  • カーソルがあるテキストの名前を取得したい

    VB2005で開発を始めたばかりの初心者です。 テキストボックスがいくつか画面上に存在していて、あるボタンをクリックして別のフォームを開き、そこで選択した内容を元のテキストボックスにセットしたいと思っています。 どのテキストボックスでも、この機能をつけたいので、ボタンをクリックする前にカーソルがあったテキストボックスの名前を取得したいのです。その方法をお教え願えないでしょうか?