我正在在CodeIgniter中构建一个应用程序,并尝试使用Form验证库中的valid_url
检查域是否有效(例如"Hæi.no")。由于不允许挪威角色,因此这不起作用。检查有效URL并允许挪威字符的最佳工作是什么,例如"æøå","?
您可以创建自己的表单验证库,我个人认为比使用回调更优雅。
在您的控制器中
$this->load->library(array('form_validation', 'My_form_validation'));
这确保两个库都被加载,您都需要它们,因为MY_Form_validation
扩展了CI_Form_validation
/application/libraries/my_form_validation.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class MY_Form_validation extends CI_Form_validation
{
/**
* Reference to the CodeIgniter instance
*
* @var object
*/
protected $CI;
function __construct($config = array())
{
$this->CI =& get_instance();
parent::__construct($config);
}
function series_exists($series_id)
{
$this->CI->db
->select('COUNT(`id`)')
->where('id', $series_id);
$rows = $this->CI->db->get('series')->result()[0];
return $rows == 1;
}
}
您可以在此示例中看到series_exists
功能,这将被称为正常验证规则,因为它仅采用一个参数。您将用自己的功能替换它,该功能必须具有唯一名称,例如my_valid_url
。
将函数名称添加到您的验证规则中,在我的示例中,它看起来像这样 'required|integer|series_exists'