He colocado este archivo de clase llamado 'My_Form_validation.php' en 'application/core' y también he intentado colocarlo en 'application/libraries'.Extendiendo la validación de formulario en Codeigniter
En mi controlador estoy usando
$this->form_validation->set_rules('user_postcode', 'Postcode', 'valid_postcode|trim|required|xss_clean');
Esto es lo que hay en My_Form_validation.php - la lógica real no está en cuestión aquí porque tengo un par de opciones para validar en realidad el código postal. Lo que necesito ayuda es entender por qué no se está cargando o recibiendo llamadas.
Mi versión de CI es 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 <[email protected]>
* @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;
}
}
}
comprobaciones de validez: 1) archivo es 'application/libraries/MY_Form_validation.php', 2)' $ config [ 'subclass_prefix '] =' MY _ '; ', 3) Su umbral de registro de configuración generará su mensaje de depuración (y los permisos de archivo lo permiten) – landons
Sí a todo ... –
No hay pista. Tendría que disparar depurarlo con todo tipo de llamadas 'var_dump()' y 'die()' ... – landons