バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

バグ報告 > フロント機能 > FormExtensionで正規表現でバリデーションが正確に効かない

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
be-s
投稿日時: 2022/11/15 16:53
対応状況: 確認中
一人前
登録日: 2016/2/2
居住地: manchester
投稿: 95
FormExtensionで正規表現でバリデーションが正確に効かない
[EC-CUBE] 4.0.4
[レンタルサーバ] AWS EC2冗長化設定
[OS] Linux
[PHP] 7.3.14
[データベース] MySQL 5.7.28(RDS)
[WEBサーバ] Apache/2.4.25
[ブラウザ] Chrome
[現象]

お世話になっております。
以下のように

src\Eccube\Form\Type\RepeatedPasswordType.php

ファイルで
パスワードに半角大文字1文字以上のバリデーションを正規表現
かけていますが
半角小文字大文字どちらでも半角大文字1文字でも通ってしまいます。
こちらはバグでしょうか?
下記URLなどの正規表現は正規表現チェッカーでは正確に通っています。
http://okumocchi.jp/php/re.php

どなたかわかる方いらっしゃればご教授お願いいたします。


public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'entry_type' => TextType::class, // type password だと入力欄を空にされてしまうので、widgetで対応
            'invalid_message' => 'form_error.same_password',
            'required' => true,
            'error_bubbling' => false,
            'options' => [
                'constraints' => [
                    new Assert\NotBlank(),
                    new Assert\Length([
                        'min' => $this->eccubeConfig['eccube_password_min_len'],
                        'max' => $this->eccubeConfig['eccube_password_max_len'],
                    ]),
                    new Assert\Regex([
                        // 'pattern' => '/^[[:graph:][:space:]]+$/i',
                        'pattern' => '/^(?=.*[A-Z]).+$/i',
                        'message' => 'form_error.graph_only',
                    ]),
                ],
            ],
            'first_options' => [
                'attr' => [
                    'placeholder' => trans('common.password_sample', [
                        '%min%' => $this->eccubeConfig['eccube_password_min_len'],
                        '%max%' => $this->eccubeConfig['eccube_password_max_len'], ]),
                ],
            ],
            'second_options' => [
                'attr' => [
                    'placeholder' => 'common.repeated_confirm',
                ],
            ],
        ]);
    }
yt1969
投稿日時: 2022/11/15 18:18
対応状況: −−−
一人前
登録日: 2018/3/3
居住地:
投稿: 91
Re: FormExtensionで正規表現でバリデーションが正確に効かない
デリミタ後の"i"は ignore case 大文字小文字区別しないですけど、そういうことではなくですか?
be-s
投稿日時: 2022/11/15 18:23
対応状況: −−−
一人前
登録日: 2016/2/2
居住地: manchester
投稿: 95
Re: FormExtensionで正規表現でバリデーションが正確に効かない
ありがとうございます。
そのとおりでした、すいません
すっかり抜け落ちてました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン



統計情報

総メンバー数は76,761名です
総投稿数は105,200件です

投稿数ランキング

1
seasoft
7333
2
468
3217
3
AMUAMU
2712
4
nanasess
2272
5
umebius
2085
6
yuh
1669
7
red
1556
8
h_tanaka
1195
9
tsuji
942
10
fukap
907
11
shutta
835
12
tao_s
794
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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