servermgrv2 init...

This commit is contained in:
최준흠git config git config --helpgit config --global user.name 최준흠 2023-08-03 04:37:51 +09:00
parent 7eeb088d71
commit cefb0b6a3f
3 changed files with 23 additions and 1 deletions

View File

@ -68,7 +68,7 @@ class UserController extends AdminController
foreach ($this->_viewDatas['fieldRules'] as $field => $rule) { foreach ($this->_viewDatas['fieldRules'] as $field => $rule) {
switch ($field) { switch ($field) {
case 'role': case 'role':
$rules['role.*'] = $rule; $rules[$field . '.*'] = $rule;
break; break;
default: default:
$rules[$field] = $rule; $rules[$field] = $rule;

View File

@ -50,6 +50,7 @@ abstract class BaseController extends Controller
*/ */
protected $_model = null; protected $_model = null;
protected $_session = null; protected $_session = null;
protected $_validation = null;
protected $_viewPath = ''; protected $_viewPath = '';
protected $_viewDatas = array(); protected $_viewDatas = array();
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger) public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
@ -59,6 +60,7 @@ abstract class BaseController extends Controller
// Preload any models, libraries, etc, here. // Preload any models, libraries, etc, here.
// E.g.: $this->session = \Config\Services::session(); // E.g.: $this->session = \Config\Services::session();
$this->_session = \Config\Services::session(); $this->_session = \Config\Services::session();
$this->_validation = \Config\Services::validation();
$this->_viewDatas['layout'] = LAYOUTS['empty']; $this->_viewDatas['layout'] = LAYOUTS['empty'];
$this->_viewDatas['session'] = $this->_session; $this->_viewDatas['session'] = $this->_session;
} }
@ -199,6 +201,11 @@ abstract class BaseController extends Controller
protected function update_validate($entity) protected function update_validate($entity)
{ {
//fieldData Rule 검사 //fieldData Rule 검사
//추후 VersionUP용
// $this->_model->getValidation($this->getFields());
// if (! $this->_validation->run($user)) {
// throw new \Exception("{$this->_viewDatas['title']}의 검증 오류발생\n" . implode("\n", $this->validator->getErrors()));
// }
if (!$this->validate($this->_viewDatas['fieldRules'])) { if (!$this->validate($this->_viewDatas['fieldRules'])) {
throw new \Exception("{$this->_viewDatas['title']}의 검증 오류발생\n" . implode("\n", $this->validator->getErrors())); throw new \Exception("{$this->_viewDatas['title']}의 검증 오류발생\n" . implode("\n", $this->validator->getErrors()));
} }

View File

@ -43,6 +43,7 @@ abstract class BaseModel extends Model
private $_user_options = null; private $_user_options = null;
private $_className = null; private $_className = null;
protected $_session = null; protected $_session = null;
protected $_validation = null;
protected function __construct(string $className) protected function __construct(string $className)
{ {
$this->_className = $className; $this->_className = $className;
@ -53,6 +54,7 @@ abstract class BaseModel extends Model
} }
$this->validationRules = []; $this->validationRules = [];
$this->_session = \Config\Services::session(); $this->_session = \Config\Services::session();
$this->_validation = \Config\Services::validation();
} }
final public function getClassName() final public function getClassName()
{ {
@ -114,6 +116,19 @@ abstract class BaseModel extends Model
} }
return $rules; return $rules;
} }
//추후 VersionUP용
final public function getValidation(array $fields, string $action = "")
{
$this->_validation->reset();
foreach ($fields as $field) {
$this->_validation->setRule(
$field,
lang($this->getClassName() . '.label.' . $field),
$this->getValidationFieldRule($field, $action)
);
}
return $this->_validation;
}
//Field별 Form Option용 //Field별 Form Option용
public function getOptions(array $conditions = array(), $options = array()): array public function getOptions(array $conditions = array(), $options = array()): array
{ {