2014年05月08日
フォームの確認画面をカスタマイズする(項目全体のエラー結果で表示を切り替える)
機能の概要
リリースされた PowerCMS 4.03 には、ContactFormに関する新機能が2つ含まれています。
弊社サポートに対しご質問・ご要望いただいている中で、件数が多い要望に対して対応を行ったものです。
今回はそのうちの一つ、「確認画面でエラー項目が存在する場合に、エラー以外の項目の再入力が出来ないので、全入力が再入力可能にして欲しい」という要望に対する新機能について説明します。
これまでの状態について
以下「PowerCMSウェブサイトテーマ」を元に説明します。
デフォルトで以下のような状態になっているものと思います。
氏名欄とメールアドレス欄が、入力必須となっており、内容欄については任意入力です。
メールアドレス欄にのみ入力した状態で「確認」ボタンを押すと以下のようになります。
氏名欄については未入力なので、必須判定に引っかかって再入力を促す状態になっています。
しかしメールアドレス欄には入力したので、確定状態になっています。内容欄についても任意入力なので、この時点で確定しています。
メールアドレスの誤入力に気づいたり、気が変わって内容欄に何か入力したいと思っても、編集・入力することは出来ません。
PowerCMS 4.03での状態について
PowerCMS 4.03を新規にインストールした場合、フォーム項目の内容が新しい状態になり、同じ状態でも次のような表示になります。
条件を満たしている、メールアドレス欄・内容欄にも再入力が可能になっています。
注意点として、初期状態で作成されるフォーム項目と同名のものがすでに構築されている場合、項目を更新はしませんので、その場合はご自分で項目を編集する必要があります。
項目のカスタマイズについて
フォーム項目内では以下の変数が利用可能です。
- field_name
- 項目の「名前」です。
- field_description
- 項目の「説明」です。
- field_basename
- 項目の「ベースネーム」です。
- field_required
- 項目に「必須項目」のチェックがされている場合に「1」になります。
- field_default
- 項目の「規定値」です。
- field_value
- 入力された値です。(正規化処理などを行った後の値です)
- field_raw
- 入力された値です。(正規化などの処理が行われていない値です)
- field_mode
- 確認画面で「1」を返します。
- field_error
- 項目がエラーに成った時に値を返します。「invalid」「over_limit」などの値をとります。
- confirm_ok
- フォームの各項目でエラーにならなかった場合に、「1」を返します。
元の項目では「field_error」の状態で入力欄の出しわけを行っていると思いますので、その箇所を「confirm_ok」による分岐に書き換えることで、新機能に項目を対応させることが出来ます。
追記(18/05/16)
「field_default」の説明に誤りありましたので修正致しました。
- カテゴリー
- PowerCMS 4
コメントを投稿する