diff --git a/app/Models/User/Databases/DatabasesColumns.php b/app/Models/User/Databases/DatabasesColumns.php index a349727db..98afaec85 100644 --- a/app/Models/User/Databases/DatabasesColumns.php +++ b/app/Models/User/Databases/DatabasesColumns.php @@ -60,7 +60,7 @@ public function isNotInputColumnType() /** * ファイルタイプのカラム型か */ - public static function isFileColumnType($column_type) + public static function isFileColumnType($column_type): bool { // ファイルタイプ if ($column_type == DatabaseColumnType::file || @@ -71,10 +71,22 @@ public static function isFileColumnType($column_type) return false; } + /** + * 選択肢タイプのカラム型か + */ + public static function isSelectColumnType($column_type): bool + { + // 選択肢タイプ + if ($column_type == DatabaseColumnType::select || $column_type == DatabaseColumnType::radio || $column_type == DatabaseColumnType::checkbox) { + return true; + } + return false; + } + /** * 埋め込みタグから除外するカラム型か */ - public static function isNotEmbeddedTagsColumnType($column_type) + public static function isNotEmbeddedTagsColumnType($column_type): bool { // 登録日型・更新日型・公開日型・表示順型は入力しない if ($column_type == DatabaseColumnType::created || diff --git a/app/Models/User/Forms/FormsColumns.php b/app/Models/User/Forms/FormsColumns.php index 7b27b806d..ceb6f53f5 100644 --- a/app/Models/User/Forms/FormsColumns.php +++ b/app/Models/User/Forms/FormsColumns.php @@ -2,6 +2,7 @@ namespace App\Models\User\Forms; +use App\Enums\FormColumnType; use App\UserableNohistory; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -18,10 +19,22 @@ class FormsColumns extends Model /** * ファイルタイプのカラム型か */ - public static function isFileColumnType($column_type) + public static function isFileColumnType($column_type): bool { // ファイルタイプ - if ($column_type == \FormColumnType::file) { + if ($column_type == FormColumnType::file) { + return true; + } + return false; + } + + /** + * 選択肢タイプのカラム型か + */ + public static function isSelectColumnType($column_type): bool + { + // 選択肢タイプ + if ($column_type == FormColumnType::select || $column_type == FormColumnType::radio || $column_type == FormColumnType::checkbox) { return true; } return false; diff --git a/app/Plugins/User/Databases/DatabasesPlugin.php b/app/Plugins/User/Databases/DatabasesPlugin.php index 5cc4016fe..ee4b4b1b3 100644 --- a/app/Plugins/User/Databases/DatabasesPlugin.php +++ b/app/Plugins/User/Databases/DatabasesPlugin.php @@ -1426,8 +1426,8 @@ public function publicConfirm($request, $page_id, $frame_id, $id = null) //$request->merge(StringUtils::trimInput($request->all())); foreach ($databases_columns as $databases_column) { - // ファイルタイプ以外の入力値をトリム - if (! DatabasesColumns::isFileColumnType($databases_column->column_type)) { + // ファイルタイプ, 選択肢タイプ以外の入力値をトリム + if (!DatabasesColumns::isFileColumnType($databases_column->column_type) && !DatabasesColumns::isSelectColumnType($databases_column->column_type)) { if (isset($request->databases_columns_value[$databases_column->id])) { // 一度配列にして、trim後、また文字列に戻す。 $tmp_columns_value = StringUtils::trimInput($request->databases_columns_value[$databases_column->id]); diff --git a/app/Plugins/User/Forms/FormsPlugin.php b/app/Plugins/User/Forms/FormsPlugin.php index fb273ad39..3d3b5db3d 100644 --- a/app/Plugins/User/Forms/FormsPlugin.php +++ b/app/Plugins/User/Forms/FormsPlugin.php @@ -876,8 +876,8 @@ public function publicConfirm($request, $page_id, $frame_id, $id = null) // 入力値をトリム // bugfix: 【データベース】(Laravel6テスト)ファイル型項目にファイルをアップするとシステムエラーと同じ対応 https://github.com/opensource-workshop/connect-cms/issues/732 foreach ($forms_columns as $forms_column) { - // ファイルタイプ以外の入力値をトリム - if (! FormsColumns::isFileColumnType($forms_column->column_type)) { + // ファイルタイプ, 選択肢タイプ以外の入力値をトリム + if (!FormsColumns::isFileColumnType($forms_column->column_type) && !FormsColumns::isSelectColumnType($forms_column->column_type)) { if (isset($request->forms_columns_value[$forms_column->id])) { // 一度配列にして、trim後、また文字列に戻す。 $tmp_columns_value = StringUtils::trimInput($request->forms_columns_value[$forms_column->id]);