PowerCMS™
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[新着情報] PowerCMSクラウド 月額費用の価格改定に関する追加情報を公開します を追加しました。
[よくあるご質問] サポートサイトへ登録しているアカウントの情報を変更することはできますか? を追加しました。
[新着情報] PHP 8.2 に対応した PowerCMS 6.5 の提供を開始 を追加しました。

PowerCMS ブログ

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

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