バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
be-s
投稿日時: 2022/11/15 16:53
対応状況: 確認中
一人前
登録日: 2016/2/2
居住地: São Paulo
投稿: 115
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
居住地: São Paulo
投稿: 115
Re: FormExtensionで正規表現でバリデーションが正確に効かない
ありがとうございます。
そのとおりでした、すいません
すっかり抜け落ちてました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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.