Codeigniter 未验证的表单
我想验证一个有两个字段的表单,用户名和密码。当我插入数据时,CodeIgniter显示错误消息,尽管我插入了正确的数据 观点:Codeigniter 未验证的表单,codeigniter,Codeigniter,我想验证一个有两个字段的表单,用户名和密码。当我插入数据时,CodeIgniter显示错误消息,尽管我插入了正确的数据 观点: <div id="acformulario"> <?php echo validation_errors(); echo form_open('cindice/valida');?> <label for="correo" id="dcorreo">Dirección de correo
<div id="acformulario">
<?php echo validation_errors(); echo form_open('cindice/valida');?>
<label for="correo" id="dcorreo">Dirección de correo</label>
<input type="text" name="drcorreo" id="dcc"/><br /><br />
<label for="contrasenya" id="cont">Contraseña</label>
<input type="password" name="contrasena" id="cmcont"/><br /><br />
<!--<label for="enviar"></label>-->
<input type="submit" name="envia" id="bentrar" value="Entrar"/>
</form>
</div>
当我输入正确或错误的数据时,将显示任何规则消息。例如,这两个字段都是必需的,但是如果我单击带有空字段的submit按钮,我会在屏幕上看到错误,并且我应该看到用户名是必需的
怎么了
谢谢。首先,您的名字弄混了。编码器表单验证使用输入类型的名称作为参数,而不是标签 如果您的输入名称是
drcorreo
然后在您的设置规则上使用
set_rules('drcorreo'、'Direcció;n decorreo'、'trim | required | valid|u email | xss|u clean')代码>
其中第一个参数是输入字段的名称
$this->form_validation->set_rules('drcorreo','Dirección de
correo','trim|required|valid_email|xss_clean');
$this->form_validation->set_rules('contrasena','Contraseña',
'trim|required|md5|xss_clean');
更改set_rules方法的第一个参数。它采用输入的名称。代码已更新:
视图:
对如你所说,我更改了名称,但问题尚未解决。请从“提交”按钮中删除名称。(name=“envia”)。只是:是的。我删除了它,但问题没有解决。@axmug,用新代码更新您的问题。我会看一看我换了它,但它没有运行。
$this->form_validation->set_rules('drcorreo','Dirección de
correo','trim|required|valid_email|xss_clean');
$this->form_validation->set_rules('contrasena','Contraseña',
'trim|required|md5|xss_clean');
<div id="acformulario">
<?php echo validation_errors(); echo form_open('cindice/valida');?>
<label for="correo" id="dcorreo">Dirección de correo</label>
<input type="text" name="drcorreo" id="dcc"/><br /><br />
<label for="contrasenya" id="cont">Contraseña</label>
<input type="password" name="contrasena" id="cmcont"/><br /><br />
<input type="submit" name="envia" id="bentrar" value="Entrar" />
</form>
</div>
public function valida()
{
$this->input->post('drcorreo');
$this->input->post('contrasena');
$this->form_validation->set_rules('drcorreo','Dirección de
correo','trim|required|valid_email|xss_clean');
$this->form_validation->set_rules('contrasena','Contraseña',
'trim|required|md5|xss_clean');
if ($this->form_validation->run()==true)
{
echo ("good");
}
else {
echo ("wrong");
}
}