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 (修正内容)¶
郵便番号が日本語文字列で登録できないように修正お願いします。
備考¶
入力した日本語文字列
ああああ
Yuya Watanabe さんが約13年前に更新
実装案¶
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; } }
Yuma Sakata さんがほぼ13年前に更新
- 説明 を更新 (差分)
- 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 (修正内容)¶
郵便番号が日本語文字列で登録できないように修正お願いします。
Akihiro KOBAYASHI さんが約10年前に更新
- 担当者 を Akihiro KOBAYASHI にセット
- 対象バージョン を OpenPNE 3.9.0-old にセット
- 3.8 で発生するか を Yes (はい) にセット
Akihiro KOBAYASHI さんが約10年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
プルリクエスト: https://github.com/openpne/OpenPNE3/pull/231
原因:入力内容のバリデート時に日本語入力が加味されていないから
対策:入力内容が正しい形式以外で入力された場合(今回では日本語であったり、英字であったり)にエラーを返す
Shinichi Urabe さんが8年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
- 担当者 を isao sano にセット
- 文字リテラルは シングルクオートで囲んでください コーディング規約違反 https://github.com/openpne/OpenPNE3-doc/blob/master/coding-standards/coding-standards.ja.rst#文字列リテラル
- sfValidatorRegex() を使わない意図は何でしょうか
kaoru n さんが約8年前に更新
- ステータス を Rejected(差し戻し) から Pending Review(レビュー待ち) に変更
- 担当者 を isao sano から kaoru n に変更
https://github.com/openpne/OpenPNE3/pull/364
にてプルリクエストしました。
レビューをお願いします。
Youichi Kimura さんが約8年前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
opValidatorProfile::doClean()
に正規表現を直接書くのではなく、 source:lib/config/config/preset_profile.yml@43190aa1#L161 にある postal_code の定義に正規表現パターンを記述して下さい。
kaoru n さんが約8年前に更新
https://github.com/openpne/OpenPNE3/pull/364
プルリクエスト更新しました。
レビューをお願いします。
Youichi Kimura さんが約8年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
レビューOKです