質問 > フロント機能 > 会員登録時の入力した県によってバリデートをかけたい |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
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/4 2:06 |
» Re: 会員登録時の入力した県によってバリデートをかけたい | devbell | 2021/2/4 3:26 |
Re: 会員登録時の入力した県によってバリデートをかけたい | webtamago | 2021/2/5 19:15 |