Bug(バグ) #2104
完了
opFormItemGenerator の trim 指定の参照要素名が間違っている
Masato Nagasawa さんが13年以上前に追加.
約9年前に更新.
説明
Overview (現象)¶
trim の設定が IsRequired の設定になっている。
Causes (原因)¶
IsRequired を指定しているが、恐らくこの指定は間違っている。
$option = array('required' => $field['IsRequired'], 'trim' => $field['IsRequired']);
Way to fix (修正内容)¶
$field['IsTrim'] に修正し、
トリムが必要な項目については「IsTrim: true」を追加する。
(ただし、ガジェットのyml設定については修正範囲が大きいため対応しません)
関連するチケット
2 (0件未完了 — 2件完了)
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Masato Nagasawa にセット
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
この修正に対しての直接の指摘ではありませんが、 opFormItemGenerator クラス内のメソッドで $field 変数で参照できる値を用いる箇所が多々ありますが、 $field 変数がどのようなキーを持った連想配列であることを前提としているのかがよく分かりません。
この修正について言えば、これまで yml ファイルには IsTrim の値は記述されていなかったため $field['IsTrim'] は未定義でした。今回の修正では opFormItemGenerator::generateWidget() では $field['IsTrim'] が定義されている前提としていますが、 opFormItemGenerator::generateWidget() が使われる時点で $field['IsTrim'] が定義されている保証はありません。
この指摘は今回の修正に限った話ではないためこのチケットで扱わなくてもよいでしょうが、もし未定義のキーを参照する可能性があることを問題とするならば、 $field[$key] を参照する前に予めデフォルト値を持った配列をマージ($field += $field_default)してから $field を参照するなどした方がよいかもしれません。
- 対象バージョン を OpenPNE 3.7.0 から 252 に変更
- 優先度 を Normal(通常) から Urgent(急いで) に変更
- 対象バージョン を 252 から OpenPNE 3.8beta1 に変更
- 3.6 で発生するか を Yes から Unknown (未調査) に変更
- 3.4 で発生するか を Unknown (未調査) にセット
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
- 3.8 で発生するか を Unknown (未調査) にセット
他の形式にエクスポート: Atom
PDF