Bug(バグ) #2430
プロフィール編集画面にて、郵便番号が日本語文字列で登録できる
0%
説明
Overview (現象)¶
プロフィール編集画面にて、郵便番号が日本語文字列で登録できる
Environment (再現環境)¶
OpenPNE 3.6RC1
Way to repro (再現手順)¶
1. 管理画面プロフィール項目登録ページ(/pc_backend.php/profile/edit)にアクセスする
2. 「プリセットから選ぶ」を選択して「郵便番号」を選択する
3. SNSログイン後、プロフィール編集ページ(/member/edit/profile)にアクセスする
4. 郵便番号を日本語文字列で登録する
5. 郵便番号が日本語文字列で登録できる
Way to fix (修正内容)¶
郵便番号が日本語文字列で登録できないように修正お願いします。
備考¶
入力した日本語文字列
ああああ
関連するチケット
履歴
#1 Yuya Watanabe が12年以上前に更新
実装案¶
diff --git a/lib/validator/opValidatorProfile.class.php b/lib/validator/opValidatorProfile.class.php index 5609f03..abc76e2 100644 --- a/lib/validator/opValidatorProfile.class.php +++ b/lib/validator/opValidatorProfile.class.php @@ -59,6 +59,11 @@ class opValidatorProfile extends sfValidatorBase } } + if ('op_preset_postal_code' === $this->profile->getName() && !preg_match("/^\d{3}-\d{4}$/", $value['value'])) + { + throw new sfValidatorError($this, 'not postal code'); + } + return $clean; } }
#2 Yuma Sakata が12年以上前に更新
- 説明 を更新 (diff)
- 3.6 で発生するか を Yes (はい) にセット
- 3.4 で発生するか を Yes (はい) にセット
再現確認できました。
Environment (再現バージョン)¶
OpenPNE3.4.18
OpenPNE3.6.1
Way to repro (再現手順)¶
1. 管理画面プロフィール項目登録ページ(/pc_backend.php/profile/edit)にアクセスする
2. 「プリセットから選ぶ」を選択して「郵便番号」を選択する
3. SNSログイン後、プロフィール編集ページ(/member/edit/profile)にアクセスする
4. 郵便番号を日本語文字列で登録する
5. 郵便番号が日本語文字列で登録できる
Way to fix (修正内容)¶
郵便番号が日本語文字列で登録できないように修正お願いします。
#3 Akihiro KOBAYASHI が9年以上前に更新
- 担当者 を Akihiro KOBAYASHI にセット
- 対象バージョン を OpenPNE 3.9.0-old にセット
- 3.8 で発生するか を Yes (はい) にセット
#4 Akihiro KOBAYASHI が9年以上前に更新
- ステータス を New(新規) から Accepted(着手) に変更
#5 Akihiro KOBAYASHI が9年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
プルリクエスト: https://github.com/openpne/OpenPNE3/pull/231
原因:入力内容のバリデート時に日本語入力が加味されていないから
対策:入力内容が正しい形式以外で入力された場合(今回では日本語であったり、英字であったり)にエラーを返す
#7 isao sano が8年以上前に更新
- 関連している Backport(バックポート) #3853: プロフィール編集画面にて、郵便番号が日本語文字列で登録できる を追加
#8 isao sano が8年以上前に更新
- 関連している Backport(バックポート) #3854: プロフィール編集画面にて、郵便番号が日本語文字列で登録できる を追加
#9 Shinichi Urabe が約8年前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
- 担当者 を isao sano にセット
- 文字リテラルは シングルクオートで囲んでください コーディング規約違反 https://github.com/openpne/OpenPNE3-doc/blob/master/coding-standards/coding-standards.ja.rst#文字列リテラル
- sfValidatorRegex() を使わない意図は何でしょうか
#10 kaoru n が7年以上前に更新
- ステータス を Rejected(差し戻し) から Pending Review(レビュー待ち) に変更
- 担当者 を isao sano から kaoru n に変更
https://github.com/openpne/OpenPNE3/pull/364
にてプルリクエストしました。
レビューをお願いします。
#11 Youichi Kimura が7年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
opValidatorProfile::doClean()
に正規表現を直接書くのではなく、 source:lib/config/config/preset_profile.yml@43190aa1#L161 にある postal_code の定義に正規表現パターンを記述して下さい。
#13 kaoru n が7年以上前に更新
https://github.com/openpne/OpenPNE3/pull/364
プルリクエスト更新しました。
レビューをお願いします。
#15 Youichi Kimura が7年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
レビューOKです