PowerCMS™

【東京セミナー】6月6日(木) 企業Webリニューアル。最初に押えたい要件定義の進め方と、最新CMSで出来ること

PowerCMS ブログ

ホーム > PowerCMS ブログ > フォームの確認画面をカスタマイズする(項目全体のエラー結果で表示を切り替える)

2014年05月08日

フォームの確認画面をカスタマイズする(項目全体のエラー結果で表示を切り替える)

機能の概要

リリースされた PowerCMS 4.03 には、ContactFormに関する新機能が2つ含まれています。
弊社サポートに対しご質問・ご要望いただいている中で、件数が多い要望に対して対応を行ったものです。
今回はそのうちの一つ、「確認画面でエラー項目が存在する場合に、エラー以外の項目の再入力が出来ないので、全入力が再入力可能にして欲しい」という要望に対する新機能について説明します。

これまでの状態について

以下「PowerCMSウェブサイトテーマ」を元に説明します。
デフォルトで以下のような状態になっているものと思います。

テーマ標準のフォーム

氏名欄とメールアドレス欄が、入力必須となっており、内容欄については任意入力です。
メールアドレス欄にのみ入力した状態で「確認」ボタンを押すと以下のようになります。

4.02までの確認画面

氏名欄については未入力なので、必須判定に引っかかって再入力を促す状態になっています。
しかしメールアドレス欄には入力したので、確定状態になっています。内容欄についても任意入力なので、この時点で確定しています。
メールアドレスの誤入力に気づいたり、気が変わって内容欄に何か入力したいと思っても、編集・入力することは出来ません。

PowerCMS 4.03での状態について

PowerCMS 4.03を新規にインストールした場合、フォーム項目の内容が新しい状態になり、同じ状態でも次のような表示になります。

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

Recent Entries