From c5ef37e450c30f188666c6f3e0d3d33023cd7e78 Mon Sep 17 00:00:00 2001 From: qixinzhi Date: Thu, 29 Aug 2024 01:39:44 +0000 Subject: [PATCH] * [story#60675,0.5h] add error. --- lib/pivotstate/pivotstate.class.php | 1 + lib/zin/wg/sqlbuilderqueryfilter/v1.php | 16 ++++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/pivotstate/pivotstate.class.php b/lib/pivotstate/pivotstate.class.php index f4c9ac1405..3edfa99439 100644 --- a/lib/pivotstate/pivotstate.class.php +++ b/lib/pivotstate/pivotstate.class.php @@ -537,6 +537,7 @@ class pivotState { if(empty($query['table'])) return $this->setBuilderError('query', 'table', $index); if(empty($query['field'])) return $this->setBuilderError('query', 'field', $index); + if(empty($query['name'])) return $this->setBuilderError('query', 'name', $index); } return true; } diff --git a/lib/zin/wg/sqlbuilderqueryfilter/v1.php b/lib/zin/wg/sqlbuilderqueryfilter/v1.php index 5953913b9f..57ffddd805 100644 --- a/lib/zin/wg/sqlbuilderqueryfilter/v1.php +++ b/lib/zin/wg/sqlbuilderqueryfilter/v1.php @@ -11,7 +11,8 @@ class sqlBuilderQueryFilter extends wg 'querys?: array', 'tables?: array', 'fields?: array', - 'defaultItems?: array' + 'defaultItems?: array', + 'error?: array' ); protected static array $controls = array( @@ -44,16 +45,18 @@ class sqlBuilderQueryFilter extends wg protected function buildFormGroup($index, $name, $rowValue) { global $lang; - list($tables, $fields, $defaultItems) = $this->prop(array('tables', 'fields', 'defaultItems')); + list($tables, $fields, $defaultItems, $error) = $this->prop(array('tables', 'fields', 'defaultItems', 'error')); $fields = \zget($fields, $rowValue['table'], array()); $typeList = $lang->dataview->varFilter->requestTypeList; $selectList = $lang->dataview->varFilter->selectList; $config = static::$controls[$name]; extract($config); - if($type == 'picker') $items = $$items; - $value = $rowValue[$name]; + + $items = $type == 'picker' ? $$items : array(); + $value = $rowValue[$name]; $isSelect = $name == 'type' && $value == 'select'; + $errorKey = "query_{$name}_{$index}"; if($isSelect) $width = (string)(int)$width / 2; @@ -71,10 +74,11 @@ class sqlBuilderQueryFilter extends wg ( set::type($type), set::name("{$name}_{$index}"), - $type == 'picker' ? set::items($items) : null, + set::items($items), set::width($width), set::value($value), - set::required($name == 'type') + set::required($name == 'type'), + set::error(isset($error[$errorKey])) ), $isSelect ? sqlBuilderPicker (