我正在创建名为check_nim的表单验证,但是当我在表单验证中添加回调时,出现了无法访问与您的字段名称Nomor Induk Mahasiswa相对应的错误消息的错误。(p_nim),
这是我的代码:
function daftar_act(){
$nim = $this->input->post("nim");
$nim = $this->security->xss_clean($nim);
function check_nim($nim){
if($this->db->query("SELECT * FROM akun WHERE nim ='$nim'")->num_rows() > 0){
$this->form_validation->set_message('check_nim','NIM sudah terdaftar.');
return false;
}
else{
return true;
}
}
$this->form_validation->set_rules("nim","Nomor Induk Mahasiswa","required|trim|min_length[8]|max_length[8]|callback_check_nim");
这是我的看法
<form action = "<?php echo base_url().'user/daftar_act'; ?> method="post">
<div class="form-group">
<label>Nomor Induk Mahasiswa</label>
<input type="number" name = "nim" class="form-control">
<?php echo form_error("nim"); ?>
</div>
<div class="form-group">
<button type="submit" class="btn btn-sm btn-primary" name="daftar"> Daftar Akun </button>
</div>
</form>
答案 0 :(得分:0)
我认为您可能没有为回调check_nim
设置表单验证错误消息。您需要使用回调函数名称来设置正确的错误消息,如下所示:
function check_nim($str)
{
if ($str == 'test')
{
$this->form_validation->set_message('check_nim', 'The {field} field can not be the word "test"');
return FALSE;
}
else
{
return TRUE;
}
}