我决定把验证和消息放在HunterModel.php
模型中,我的createHunter()
方法在HunterController.php
文件中应该插入一条记录。
下面的代码片段显示了我遇到的问题:显然,$this->$data->listError();
并没有揭示我在$validationMessages
中定义的消息。
HunterModel.php
// Validation
protected $validationRules = [
'name_hunter' => 'required|max_length[30]',
'age_hunter' => 'required|integer',
'height_hunter' => 'required|decimal',
'weight_hunter' => 'required|decimal',
'type_hunter' => 'required|max_length[30]',
'type_nen' => 'required|max_length[30]',
'type_blood' => 'required|max_length[3]'
];
protected $validationMessages = [
'name_hunter' => [
'required' => 'Hunter name cannot be empty.',
'max_length' => 'The hunter name must have a maximum of 30 characters.'
],
'age_hunter' => [
'required' => 'Hunter age cannot be empty.',
'integer' => 'The hunter's age must be an integer.'
],
'height_hunter' => [
'required' => 'Hunter height cannot be empty.',
'decimal' => 'The hunter height must be a decimal number.'
],
'weight_hunter' => [
'required' => 'Hunter weight cannot be empty.',
'decimal' => 'The hunter weight must be a decimal number.'
],
'type_hunter' => [
'required' => 'It is necessary to define the type of hunter.',
'max_length' => 'The hunter type must be a maximum of 30 characters.'
],
'type_nen' => [
'required' => 'It is necessary to define the nen of the hunter.',
'max_length' => 'The hunter's nen must have a maximum of 30 characters.'
],
'type_blood' => [
'required' => 'It is necessary to define the hunter's blood type.',
'max_length' => 'The hunter's blood type must be a maximum of 3 characters.'
]
];
HunterController.php
public function createHunter()
{
try {
$hunter = new HunterModel();
$data = [
'name_hunter' => $this->request->getPost('name_hunter'),
'age_hunter' => $this->request->getPost('age_hunter'),
'height_hunter' => $this->request->getPost('height_hunter'),
'weight_hunter' => $this->request->getPost('weight_hunter'),
'type_hunter' => $this->request->getPost('type_hunter'),
'type_nen' => $this->request->getPost('type_nen'),
'type_blood' => $this->request->getPost('type_blood')
];
if ($hunter->insert($data)){
return $this->response->redirect(site_url('/read_hunters'));
} else {
$this->$data->listError();
}
} catch (\Exception $e) {
exit($e->getMessage());
}
}
1条答案
按热度按时间htzpubme1#
如果Validations.php不存在,请在Libraries文件夹中创建它。
验证.php必须类似于:
HunterController.php必须类似于: