gpt4 book ai didi

forms - 在Codeigniter中扩展表单验证

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

我已将名为“My_Form_validation.php”的此类文件放入“应用程序/核心”,并且我也尝试将其放置在“应用程序/库”中。

在我的 Controller 中,我正在使用

$this->form_validation->set_rules('user_postcode', 'Postcode', 'valid_postcode|trim|required|xss_clean');

这就是My_Form_validation.php中的内容-这里的实际逻辑不成问题,因为我有几个选项可以实际验证邮政编码。我需要帮助的是了解为什么不加载或调用它!

我的CI版本是
define('CI_VERSION','2.0.2');
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**
* Form validation for UK Postcodes
*
* Check that its a valid postcode
* @author James Mills <james@koodoocreative.co.uk>
* @version 1.0
* @package FriendsSavingMoney
*/

class MY_Form_validation extends CI_Form_validation
{

function __construct()
{
parent::__construct();
log_message('debug', '*** Hello from MY_Form_validation ***');
}

function valid_postcode($postcode)
{

/**
*
* UK Postcode validation expression from Wikipedia
* http://en.wikipedia.org/wiki/Postcodes_in_the_United_Kingdom
*
* Note: Remember to strtoupper() your postcode before inserting into database!
*
*/

$pattern = "/^(GIR 0AA)|(((A[BL]|B[ABDHLNRSTX]?|C[ABFHMORTVW]|D[ADEGHLNTY]|E[HNX]?|F[KY]|G[LUY]?|H[ADGPRSUX]|I[GMPV]|JE|K[ATWY]|L[ADELNSU]?|M[EKL]?|N[EGNPRW]?|O[LX]|P[AEHLOR]|R[GHM]|S[AEGKLMNOPRSTY]?|T[ADFNQRSW]|UB|W[ADFNRSV]|YO|ZE)[1-9]?[0-9]|((E|N|NW|SE|SW|W)1|EC[1-4]|WC[12])[A-HJKMNPR-Y]|(SW|W)([2-9]|[1-9][0-9])|EC[1-9][0-9]) [0-9][ABD-HJLNP-UW-Z]{2})$/";


if (preg_match($pattern, strtoupper($postcode)))
{
return TRUE;
}
else
{
$this->set_message('valid_postcode', 'Please enter a valid postcode');
return FALSE;
}
}
}

最佳答案

因为您要扩展CodeIgniter库而不是核心组件,所以您希望将其放置在application/libraries(而不是application/core)中。

当然,不要忘记在 Controller 代码中加载Form_validation库。

$this->load->library('form_validation');

其他要检查的内容:
  • 文件名区分大小写(不会加载MY_Form_validation.php,而不会加载My_Form_validation.php)
  • 类名区分大小写(类MY_Form_validation扩展了CI_Form_validation)

  • 引用资料:
  • Extending Core Classes
  • Extending Native Libraries
  • 关于forms - 在Codeigniter中扩展表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9160610/

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