Codeigniter 3.1.9我的表单验证不起作用
我正在研究Codeigniter 3.1.9,并在本地机器上完成了我的表格。我刚才把我的应用程序上传到服务器上,结果出错了 无法访问与字段名对应的错误消息 URL。(有效的URL格式) 我谷歌了很多,但无法解决问题 文件名:My_Form_validation.php 位置:应用程序\库Codeigniter 3.1.9我的表单验证不起作用,codeigniter,Codeigniter,我正在研究Codeigniter 3.1.9,并在本地机器上完成了我的表格。我刚才把我的应用程序上传到服务器上,结果出错了 无法访问与字段名对应的错误消息 URL。(有效的URL格式) 我谷歌了很多,但无法解决问题 文件名:My_Form_validation.php 位置:应用程序\库 class MY_Form_validation extends CI_Form_validation{ public function __construct() { pare
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
位置:应用程序\控制器
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';
}
}
类UrlChecker扩展CI_控制器{
公共函数构造(){
父项::_构造();
}
公共函数_初始化(){
}
公共职能指数()
{
$this->form_validation->set_rules('link','URL','required | trim | valid|URL|u format | URL|u exists');
如果($this->form\u validation->run()==FALSE)
{
回波验证错误(“”,”);
}
其他的
{
回声‘ok’;
}
}
请检查并让我知道有什么问题,是否存在托管版本问题或其他问题。我总是在运行时使用自定义验证,这是第一次尝试为附加验证创建自定义库,不管怎样,我创建并测试了它,以确保它工作正常,您必须确保遵守命名约定文件名应如下:
MY\u Form\u validation.php
并将其保存在应用程序/库中,然后创建类:
class MY_Form_validation extends CI_Form_validation
{
// your rules
}
然后,您必须为每个方法创建错误消息,在应用程序/language/english/form\u validation\u lang.php
中创建一个lang文件,并添加如下自定义错误消息:
$lang['valid_url_format'] = 'The {field} field may only contain valid url.';
$lang['url_exists'] = 'The {field} field already exists';
我也这么做了你可以检查我已经解释了路径和完整的类提及,但没有Luckit在本地主机上运行良好,但在live Server上上载时不工作你是使用CI还是使用hmvc扩展?我使用CI只是从codeigniter.com 3.1.9版下载。你在控制器/模型或自动加载中加载了表单验证
?