バージョン選択

フォーラム

メニュー

オンライン状況

50 人のユーザが現在オンラインです。 (43 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 50
もっと...

サイト内検索

質問 > フロント機能 > 会員登録時の入力した県によってバリデートをかけたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
webtamago
投稿日時: 2021/2/4 2:06
対応状況: −−−
常連
登録日: 2014/5/22
居住地:
投稿: 34
会員登録時の入力した県によってバリデートをかけたい
▼テンプレート
[EC-CUBE]4.0.5
[レンタルサーバ]xserver


取得した県のIDによって、配送不可にしたいと考えております。
※ 該当の県IDだった場合は、エラーメッセージを表示したいです。
この場合にどこでバリデートを行えばいいのかご教授お願いいたします。

src/Eccube/Contoroller/contactcontoroller.php
#82 の行で受取

#83の行の
$form->isValid()
でバリデートを検証しているのでしょうか。


初歩的なご質問で恐縮ですが、何卒ご教授お願いいたします。
devbell
投稿日時: 2021/2/4 3:26
対応状況: −−−
半人前
登録日: 2020/4/10
居住地:
投稿: 19
Re: 会員登録時の入力した県によってバリデートをかけたい
お問合せフォームの事で良いのでしょうか?
配送不可だと、購入フローの事なのかなと思ったのですが、「contactcontoroller」なので、お問合せと思って答えます。

まず、お問合せのフォームは

https://github.com/EC-CUBE/ec-cube/blob/4.0/src/Eccube/Form/Type/Front/ContactType.php

Eccube/Form/Type/Front/ContactType.phpで制御してます。
お問合せは住所入力は任意なのでまずは必須にするのが良いと思います。

住所(address)の「'required' => false,」を削除すれば必須になると思います。

新規会員登録フォームが参考になります。
https://github.com/EC-CUBE/ec-cube/blob/4.0/src/Eccube/Form/Type/Front/EntryType.php

で、エラーですが、EntryType.phpの118行目も参考になり、情報を入力して送信後の入力チェック等ができます。

「$event->getData();」で「ContactType」だと配列で入力された情報が取得できます。
その中に「postal_code」がありますので、ここのPrefオブジェクトのIDをチェックして、エラーを設定すれば、都道府県のセレクトボックスにエラー表示がされます。

$form['address']['pref']->addError(new FormError('エラー文'));


use Symfony\Component\Form\FormError;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;

も忘れないでください。
こんな感じだと思います。

本体ソースに手を入れるのもいいですが、FormTypeを拡張する方法もあります。
https://doc4.ec-cube.net/customize_formtype

見てみてください。
webtamago
投稿日時: 2021/2/5 19:15
対応状況: 解決済
常連
登録日: 2014/5/22
居住地:
投稿: 34
Re: 会員登録時の入力した県によってバリデートをかけたい
devbell様

ご教授いただき誠にありがとうございました!

Form/type までしか調べておりませんでした。
FRONTの中にあったとは。。。。

また、詳しいところまで記述いただき本当に感謝させていただきます!

誠に迅速かつご丁寧な返信ありがとうございました!!!!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,288名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.