如何在代码点火器表单验证中使用来自助手的回调



我在控制器中的表单验证代码是

$this->form_validation->set_rules("name", "Name", "trim|callback_custom_validation");
if ($this->form_validation->run() !== FALSE) {}

我的助手代码是

function custom_validation($str) {
// validation logic
}

如果我把这个custom_validation函数移到控制器,那么它可以工作,但不能作为助手。我需要从控制器和模型调用这个函数,所以我使用helper。那么如何从助手那里调用呢?

有两种方法可以做到这一点。

您应该在application/helpers文件夹中创建一个helper文件,并将函数放在helper文件中。然后在控制器中加载帮助程序文件。

custom_validation.php:

function custom_validation($str) {
// validation logic
}

内部控制器:

$this->load->helper('custom_validation');

还可以扩展Form_validation库。

创建文件:application/librarys/MY_Form_validation.php

<?php
class MY_Form_validation extends CI_Form_validation {
public function custom_validation($str) {
// validation logic
}
}

然后将其作为正常验证加载:

$this->form_validation->set_rules('name', 'Name', 'required|custom_validation');

将您的自定义验证方法添加到任何模型中,并在控制器和模型中使用,例如:

$this->form_validation->set_rules(
'name', 'Name',
array(
'trim',
'required',
array($this->Mymodel_m, 'custom_validation')
)
); 
if ($this->form_validation->run() !== FALSE) {...}

更多信息可调用:按规则使用任何东西

相关内容

  • 没有找到相关文章

最新更新