■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

Re: メールフォーム入力時に表示されるエラーメッセージについて

hanhunhun > Re: メールフォーム入力時に表示されるエラーメッセージについて @ 2015/5/20 11:32
yunyunさん

返信が遅くなったのでもう解決しているかもしれませんが一応応急処置的な方法が見つかりましたのでご報告します。

まず、方法として

1.「必須項目です。」のエラーを吐き出す方法がvalidで吐き出すVALID_〜エラーを見て吐き出していたのでまずメールフォームとその他の必須項目のフォームでエラーをだす条件を分けました。

/Users/KoichiFukuda/Documents/Projects/basercms3.0.7/theme/nada-icons/Elements/mail_input.php内の

引用:
if ($field['group_valid']) {
if ($this->Mailform->error("Message." . $field['group_field'] . "_format", "check")) {
echo $this->Mailform->error("Message." . $field['group_field'] . "_format", "形式が不正です。");
} else {
if ($field['valid'] === 'VALID_NOT_EMPTY') {
echo $this->Mailform->error("Message." . $field['group_field']."", "必須項目です。");
}

if (($this->Mailform->value("Message." . $field['field_name']) ==='') and ($field['group_field'] === 'email')){
echo $this->Mailform->error("Message." . $field['group_field']."", "必須項目です。");
}

}

echo $this->Mailform->error("Message." . $field['group_field'] . "_not_same", "入力データが一致していません。");
echo $this->Mailform->error("Message." . $field['group_field'] . "_not_complate", "入力データが不完全です。");
}


赤字部分の条件をメール以外の必須項目フォームで該当エラーがでるようにしました。

その次に

引用:
if ($field['group_valid']) {
if ($this->Mailform->error("Message." . $field['group_field'] . "_format", "check")) {
echo $this->Mailform->error("Message." . $field['group_field'] . "_format", "形式が不正です。");
} else {
if ($field['valid'] === 'VALID_NOT_EMPTY') {
echo $this->Mailform->error("Message." . $field['group_field']."", "必須項目です。");
}
if (($this->Mailform->value("Message." . $field['field_name']) ==='') and ($field['group_field'] === 'email')){
echo $this->Mailform->error("Message." . $field['group_field']."", "必須項目です。");
}


}

echo $this->Mailform->error("Message." . $field['group_field'] . "_not_same", "入力データが一致していません。");
echo $this->Mailform->error("Message." . $field['group_field'] . "_not_complate", "入力データが不完全です。");
}


上記赤字部分でメールフォームが未記入の場合に「必須項目です。」のエラーを出すようにしました。

予測なんですが$field['valid']はなにかしらのエラーがあった場合には常にエラーコードを出すみたいなのでメールフォームの時のみフォーム値が空かどうかで判定するようにしました。
これで一応自分の環境では出来ましたので参考になれば幸いです。

■ BaserCMSのバージョン:3.0.9
■ レンタルサーバー名:ローカル
■ 設置フォルダ: C/MAMP/htdocs
■ 利用しているデータベース:MySQL
■ PHPスキル(自己評価):多分できない

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
9 人のユーザが現在オンラインです。 (8 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 9