Project

General

Profile

Backport(バックポート) #1468

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

Added by Shogo Kawahara about 11 years ago. Updated about 11 years ago.

Status:
Fixed(完了)
Priority:
Normal(通常)
Target version:
Start date:
2010-07-28
Due date:
% Done:

100%


Description

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


Related issues

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

Associated revisions

Revision 70b31708 (diff)
Added by tu nguyen ngoc about 11 years ago

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

History

#1 Updated by Rimpei Ogawa about 11 years ago

  • Target version changed from OpenPNE 3.6beta4 to OpenPNE 3.6beta5

#2 Updated by tu nguyen ngoc about 11 years ago

  • Status changed from New(新規) to Accepted(着手)
  • Assignee set to tu nguyen ngoc

#3 Updated by tu nguyen ngoc about 11 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

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

#4 Updated by Hiroki Mogi about 11 years ago

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

#5 Updated by Kousuke Ebihara about 11 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70

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

問題ありません。

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

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

#6 Updated by Hiroki Mogi about 11 years ago

  • Status changed from Pending Testing(テスト待ち) to Fixed(完了)
  • % Done changed from 70 to 100

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

Also available in: Atom PDF