我想验证一个包含两个字段的用户名和密码的表单。当我插入数据CodeIgniter显示错误信息时,虽然我插入了正确的数据。
观点:
<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>
控制器:
public function valida()
{
$this->input->post('drcorreo');
$this->input->post('contrasena');
$this->form_validation->set_rules('correo','Dirección de
correo','trim|required|valid_email|xss_clean');
$this->form_validation->set_rules('contrasenya','Contraseña',
'trim|required|md5|xss_clean');
if ($this->form_validation->run()==true)
{
echo ("correct");
}
else {
echo ("wrong");
}
}
当我输入正确或错误的数据时,会显示任何规则消息。例如,两个字段都是必填字段,但是如果我单击带有空字段的提交按钮,我在屏幕上看错了,我应该看用户名是必需的。
出了什么问题?
感谢。
答案 0 :(得分:0)
首先,你的名字混淆了代码,表单验证使用输入类型的名称作为参数,而不是标签。
如果您的输入名称为drcorreo
然后在set_rules
使用
set_rules('drcorreo','Dirección decorreo','trim|required|valid_email|xss_clean');
其中第一个参数是输入字段的名称
答案 1 :(得分:0)
$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');
$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的第一个参数Method..It取输入名称。
答案 2 :(得分:0)
代码已更新:
视图:
<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");
}
}