プロジェクト

全般

プロフィール

Backport(バックポート) #1468

opFormItemGenerator::generateValidator() の 数値用バリデータ生成時 ValueMax, ValueMin が 0の場合は 範囲指定されない

Shogo Kawahara13年以上前に追加. 13年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2010-07-28
期日:
進捗率:

100%


説明

Overview

opFormItemGenerator::generateValidator() の 数値用バリデータ生成時 ValueMax, ValueMin が 0の場合は 範囲指定されない


再現手順

  • 範囲が 0 〜 1 である数値プロフィール項目を作成。
  • プロフィール編集で -1 を入力
  • 正常にプロフィールが登録できてしまう。

対象

OpenPNE3.0.x 〜 OpenPNE3.7.x-dev

Causes

184     if ($field['ValueType'] === 'integer' || $field['FormType'] === 'date')
185     {   
186         if (!empty($field['ValueMin']))
187         {
188           $option['min'] = $field['ValueMin'];
189         }
190         if (!empty($field['ValueMax']))
191         {
192           $option['max'] = $field['ValueMax'];
193         }
194     } 

ValueMinおよびValueMax を empty() を利用して判定しているためです。

Way to fix


関連するチケット

関連している OpenPNE 3 - Bug(バグ) #1449: opFormItemGenerator::generateValidator() の 数値用バリデータ生成時 ValueMax, ValueMin が 0の場合は 範囲指定されない Fixed(完了) 2010-07-28

関係しているリビジョン

リビジョン 70b31708 (差分)
tu nguyen ngoc13年以上前に追加

fixed opFormItemGenerator doesn't set min or max option to sfValidateInteger when ValueMin or ValueMax is "0" (fixes #1468,BP from #1449)

履歴

#1 Rimpei Ogawa13年以上前に更新

  • 対象バージョンOpenPNE 3.6beta4 から OpenPNE 3.6beta5 に変更

#2 tu nguyen ngoc13年以上前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者tu nguyen ngoc にセット

#3 tu nguyen ngoc13年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

更新履歴 70b3170834b16721c77364173f29d0dfbcf68f83 で適用されました。

#4 Hiroki Mogi13年以上前に更新

テストを実施しました。正常に動作していました。

#5 Kousuke Ebihara13年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

http://redmine.openpne.jp/issues/1449#note-12 でこのバグチケットの確認中に発見した問題についてコメントしています。この問題については、コメントの通りこのチケットでは扱わないことにします。

問題ありません。

このチケットの確認中に now などの文字列が実際の日付に変換された上で DB に保存されてしまっているというバグを発見しました。これは実際には文字列として保存しておき、その文字列をバリデーションのために都度日付に直すのが正しい挙動です。このバグは #930 の 4e1f2665 の変更により混入したものと思われます。

このチケットでは日付の比較にも関わる変更がなされているので微妙なところですが、別のバグチケットを切って対処することにしましょう。

#6 Hiroki Mogi13年以上前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

テストが終了しているので、ステータスを変更します。

他の形式にエクスポート: Atom PDF