如何在codeigniter中将表单验证规则设置为整个表单而不是表单字段?

时间:2011-05-18 23:13:44

标签: codeigniter

正如主题所说......如何在代码点火器中将表单验证规则设置为整个表单而不是表单字段?

// Définir les règles de validation du formulaire de création de compte
$this->form_validation->set_rules('username', 'Nom d\'usagé', 'required');
$this->form_validation->set_rules('password', 'Mot de passe', 'required|callback_authentification_check');

考虑上面的代码..它调用callback_authentification_check来检查用户名和密码是否匹配..但是它应该附加到密码字段,因为这是一个整体的表单验证过程。

那么最好的方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:3)

简单地说,让普通表单验证规则运行,然后在检查字段的有效性后运行“回调”,而不是作为表单验证规则:

if ($this->form_validation->run() && my_callback() == TRUE)
{
    // OK!
}

<强>然而

你现在的做法没有“错误”,但我看到了你的担忧。验证规则按照定义的顺序运行,因此如果您最后运行回调,则可以确保您正在处理之前规则定义的“有效”数据。您仍然可以从那里访问其他$_POST数据。