質問 > フロント機能 > ECCUBE3 バリデーションの違いについて |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ikt3 |
投稿日時: 2019/6/3 17:27
対応状況: 解決済
|
新米 登録日: 2019/6/3 居住地: 投稿: 2 |
ECCUBE3 バリデーションの違いについて ▼テンプレート
[EC-CUBE] 3.0.17 [レンタルサーバ] xserver [OS] win10 [PHP] 7.0.30 [データベース] MySQL 5.7.16 [ブラウザ] chrome [カスタマイズの有無] バリデーション部分、(src/Eccube/Form/Type/Front/EntryType.php)は特に触っています。 [現象] 会員登録画面(https://demo3.ec-cube.net/entry)や お問い合わせ(https://demo3.ec-cube.net/contact)でのバリデーションはブラウザのバリデーションが適応されていると思います。 ですが、お届け先変更(https://demo3.ec-cube.net/shopping/shipping_edit/XXXX) はECCUBEのバリデーションが効いているように見えるのですが、 この違いは何なのでしょうか…? 困っているのが、ヘッダーを固定化(position:fixed)しているため ブラウザのバリデーションがヘッダーとかぶってしまいます… できればお届け先変更と同じようにECCUBEのバリデーションをかけることができればありがたいのですが、 現状javascriptでバリデーションを制御するしかないのでしょうか https://umebius.com/eccube/various_form_validation/
この記事を見て試したのですが、上記のコードの'required' => true,を 'required' => false,に変更して試してみたのですが、逆に必須から外れてしまいました。 またご意見いただければ幸いです。 |
468 |
投稿日時: 2019/6/4 8:53
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: ECCUBE3 バリデーションの違いについて
がhtml上のrequired属性を制御しているのですが 「必須」のキーワードとも連動するようにtwigの共通処理で作られていると思われます。 「必須」のキーワードの表示を判断する値が他に存在しない事、 該当処理を共通処理から取り出すには修正箇所(全てのform周りを変更する必要がでてくるのでは?)が多い事から 'required' => falseにして「必須」の文字を残すのは難しいと思います。
|
ikt3 |
投稿日時: 2019/6/4 22:40
対応状況: 解決済
|
新米 登録日: 2019/6/3 居住地: 投稿: 2 |
Re: ECCUBE3 バリデーションの違いについて ご返信ありがとうございます。
いろいろ調べたのですが、 各フォームに
のように novalidate="novalidate" こちらを記述することで、ブラウザのバリデーションを効かないようにし、eccubeのバリデーションが効かせることができました。 また、
こちらもtrueにしたままなので「必須」の文字は残ったままになります。 >>当処理を共通処理から取り出すには修正箇所(全てのform周りを変更する必要がでてくるのでは?) こちらおっしゃる通りでした… formが入っているページをほとんど触ることになりました… バリデーションはざっと確認しただけなので… 大丈夫だと思いますが、もしかするとhtmlのバリデーションを外すことによってなにかチェック漏れが起こるかもしれません。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |