我在检查一个更新某个记录信息的表单的验证功能时遇到了问题,显然验证是有效的,但是它们返回了一个错误,我必须打印出来,以便您更好地了解发生了什么:
Erro image here
显然,验证工作正常,但是页面地址不是表单的地址,这就是为什么页面完全是空的,只包含验证消息。
form_update.php
<?php if (!empty($errors)): ?>
<div class="alert alert-danger">
<?php foreach ($errors as $error): ?>
<li><?= $error ?></li>
<?php endforeach; ?>
</div>
<?php endif; ?>
<form action="<?= site_url('update/'.$hxh['id_hunter'])?>" method="POST">
<div class="form_group">
<div class="form_group">
<div for="name_hunter">Nome:
<input type="text" class="form-control" name="name_hunter" maxlength="30" value="<?= $hxh['aome_hunter'] ?>">
</div>
</div>
<br>
<div class="form_group">
<div for="age_hunter">Idade:
<input type="text" class="form-control" name="age_hunter" onkeypress="$(this).mask('00', {reverse: true});" value="<?= $hxh['age_hunter'] ?>">
</div>
</div>
<br>
...
<button type="submit" class="btn btn-primary"><i class="fa fa-arrows-rotate"></i> Update</button>
</form>
HunterController.php
public function formUpdateHunter($id_hunter)
{
try {
$hunter = new HunterModel();
$dados['hxh'] = $hunter->where('id_hunter', $id_hunter)->first();
return view('form_update', $dados);
} catch (\Exception $e) {
exit($e->getMessage());
}
}
public function updateHunter()
{
try {
helper(['form','url','html']);
$hunter = new HunterModel();
$id_hunter = $this->request->getPost('id_hunter');
$dados = [
'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->update($id_hunter, $dados)){
return $this->response->redirect(site_url('listing'));
} else {
return view('form_update', ['errors' => $hunter->errors()]);
}
} catch (\Exception $e) {
exit($e->getMessage());
}
}
1条答案
按热度按时间aor9mmx11#
我怀疑它会停止呈现html,因为在
updateHunter
中,模板缺少表单的action
属性的$hxh['id_hunter']
变量。尝试在
updateHunter
中再次将猎人数据传递给模板(我只更改了else
):