diff --git a/application/admin/library/traits/Backend.php b/application/admin/library/traits/Backend.php index e2731884bf4a025558b7ffc5d21f0f7ec3763a16..c55a36708737a491444224919a6be665a0222517 100755 --- a/application/admin/library/traits/Backend.php +++ b/application/admin/library/traits/Backend.php @@ -5,6 +5,31 @@ namespace app\admin\library\traits; trait Backend { + /** + * 排除前台提交过来的字段 + * @param $params + * @return array + */ + private function preExcludeFields($params) + { + if (is_array($this->excludeFields)) { + foreach ($this->excludeFields as $field) { + if (key_exists($field,$params)) + { + unset($params[$field]); + } + } + } else { + + if (key_exists($this->excludeFields,$params)) + { + unset($params[$this->excludeFields]); + } + } + return $params; + } + + /** * 查看 */ @@ -74,6 +99,9 @@ trait Backend if ($this->request->isPost()) { $params = $this->request->post("row/a"); if ($params) { + + $params = $this->preExcludeFields($params); + if ($this->dataLimit && $this->dataLimitFieldAutoFill) { $params[$this->dataLimitField] = $this->auth->id; } @@ -118,6 +146,9 @@ trait Backend if ($this->request->isPost()) { $params = $this->request->post("row/a"); if ($params) { + + $params = $this->preExcludeFields($params); + try { //是否采用模型验证 if ($this->modelValidate) { diff --git a/application/common/controller/Backend.php b/application/common/controller/Backend.php index 8348df70384bda11b04dd333587de2cb5d956c53..279b0f5e7b0334f2648beddb774a5f4fded46112 100644 --- a/application/common/controller/Backend.php +++ b/application/common/controller/Backend.php @@ -93,6 +93,11 @@ class Backend extends Controller */ protected $selectpageFields = '*'; + /** + * 前台提交过来,需要排除的字段数据 + */ + protected $excludeFields = ""; + /** * 导入文件首行类型 * 支持comment/name