如何检查URL是否对Codeigniter中的挪威字符有效

时间:2016-11-26 18:18:47

标签: php codeigniter-3

我正在Codeigniter中构建一个应用程序,并尝试使用表单验证库中的valid_url来检查域是否有效(例如“hæi.no”)。由于不允许使用挪威字符,因此无法使用。检查有效URL并允许使用挪威字符的最佳方法是什么,例如“ÆØÅ”,“æøå”?

1 个答案:

答案 0 :(得分:0)

您可以创建自己的表单验证库,我个人认为它比使用回调更优雅。

在您的控制器中

$this->load->library(array('form_validation', 'My_form_validation'));

这确保了两个库都已加载,您需要它们MY_Form_validation extends 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'