gpt4 book ai didi

Codeigniter 3.1.9 MY_Form_validation 不工作

转载 作者:行者123 更新时间:2023-12-02 04:26:51 25 4
gpt4 key购买 nike

我正在使用 Codeigniter 3.1.9 并在本地计算机上完成我的表单。我刚刚在服务器上上传了我的应用程序并出现错误

Unable to access an error message corresponding to your field name URL.(valid_url_format)

我谷歌了很多但无法解决问题。

文件名:My_Form_validation.php位置:应用\库

    class MY_Form_validation extends CI_Form_validation{

public function __construct()
{
parent::__construct();
}

function valid_url_format($str){
$pattern = "/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i";
if (!preg_match($pattern, $str)){
$this->set_message('valid_url_format', 'The URL you entered is not correctly formatted.');
return FALSE;
}

return TRUE;
}

function url_exists($url){
$url_data = parse_url($url); // scheme, host, port, path, query
if(!fsockopen($url_data['host'], isset($url_data['port']) ? $url_data['port'] : 80)){
$this->set_message('url_exists', 'The URL you entered is not accessible.');
return FALSE;
}

return TRUE;
}
}

文件名:UrlChecker.php位置:应用\ Controller

        class UrlChecker extends CI_Controller {

public function __construct() {

parent::__construct();

}

public function _initializing(){



}

public function index()
{



$this->form_validation->set_rules('link', 'URL', 'required|trim|valid_url_format|url_exists');

if ($this->form_validation->run() == FALSE)
{
echo validation_errors('<div class="alert alert-danger" role="alert">', '</div>');
}

else

{

echo 'ok';

}

}

请检查并告诉我有什么问题是托管版本问题还是其他问题。

最佳答案

我总是即时使用自定义验证,这是我第一次尝试制作自定义库以进行额外验证,无论如何我创建并测试了它以确保它有效,你必须确保遵循命名约定,文件名应该是这样的:MY_Form_validation.php 并将其保存在您的 application/libraries 中,然后创建您的类:

class MY_Form_validation extends CI_Form_validation
{
// your rules
}

然后您必须为每个方法创建错误消息,在您的 application/language/english/form_validation_lang.php 中创建一个 lang 文件并添加您的自定义错误消息,如下所示:

$lang['valid_url_format'] = 'The {field} field may only contain valid url.';
$lang['url_exists'] = 'The {field} field already exists';

关于Codeigniter 3.1.9 MY_Form_validation 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53741066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com