使用checkdnsrr和CodeIgniter"表单验证"

时间:2016-01-27 22:30:16

标签: php codeigniter validation

在我的控制器中,是否有一种简单快捷的方法可以将checkdnsrr用作表单验证过程的一部分?我想检查用户提交的域是否存在DNS-A记录。我确实在文档中查找了有用的东西,但是我找不到任何东西。

这是我目前的表单验证

    $this->form_validation->set_rules('campaign_package', 'Valg av tjeneste', 'required');
    $this->form_validation->set_rules('campaign_domain', 'Nettadresse', 'required');

1 个答案:

答案 0 :(得分:0)

好吧,经过一番阅读后,我最终自己制定了一个解决方案。

这是扩展常规表单验证库,因此需要加载任何内容。我刚刚创建了一个名为" MY_Form_validation.php"在库文件夹中(确保根据您自己的配置更改前缀),然后使用以下代码。

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
    class MY_Form_validation extends CI_Form_validation {

        function validate_dns($str) {
                $this->CI->form_validation->set_message('validate_dns', 'Domenet er ugyldig, utilgjengelig eller inneholder feilaktige DNS-innstillinger.');
                if(checkdnsrr($str, 'A'))
                {
                    return TRUE;
                }
                else
                {
                    return FALSE;
                }
            }
        }
?>

验证

$this->form_validation->set_rules('campaign_domain', 'Nettadresse', 'required|validate_dns');

像魅力一样。