Welcome Guest, Not a member yet? Register   Sign In
Validaciones Personalizadas
#1

Saludos a todos, soy nuevo en la programacion en general y estoy comenzando en codeigniter 4, mi problema es que ha la hora de realizar validaciones personalizadas no logro que el campo me valide, el codigo explota por completo y me dice que no es correcta la validacion, en la documentacion explica como hacerlo y trato de realizarlo pero no lo consigo, a continuacion les dejo el ejemplo:

tengo un campo en la vista que se llama mes y quiero validar que a la hora de llenar este campo se registre un numero del 1 al 12, en el controlador he realizado esto:
public function reglaM($mes,&$error = null){
        if((int)$mes<1 && (int)$mes>12){
            $error=lang('reglaMeses');
            return false;
        }
            return true;
    }

y este es el error que me da (reglaM no es una regla de validación válida)

Code:
use CodeIgniter\Exceptions\ExceptionInterface;
4 use CodeIgniter\Exceptions\FrameworkException;
5
6 class ValidationException extends FrameworkException implements ExceptionInterface
7 {
8     public static function forRuleNotFound(string $rule = null)
9     {
10         return new static(lang('Validation.ruleNotFound', [$rule]));
11     }
12
13     public static function forGroupNotFound(string $group = null)
14     {
15         return new static(lang('Validation.groupNotFound', [$group]));
16     }

tambien lo realizo como explica la documentacion, yo creo un carpeta en app\Validacion y dentro un archivo que se llama MiVal.php, en este archivo porgo lo siguiente:
<?php
namespace App\Validacion;
class Myregla{
    public function reglaMeses($mes,&$error = null){
        if((int)$mes<1 && (int)$mes>12){
            $error=lang('reglaMeses');
            return false;
        }
            return true;
    }
}
?>

en el archivo app\Validation.php dentro de:
public $ruleSets = [
        \CodeIgniter\Validation\Rules::class,
        \CodeIgniter\Validation\FormatRules::class,
        \CodeIgniter\Validation\FileRules::class,
        \CodeIgniter\Validation\CreditCardRules::class,
        \App\Validacion\Myregla::class,
  
    ];
y en el controlador en las reglas del campo mes: 'meses'=>['label'=>'(Cantidad de Meses Atrasados)','rules'=>'required|numeric|reglaMeses'],
y tampoco me lo reconoce codeigniter 4 ya no se que mas hacer, necesito su ayuda. gracias
Reply


Messages In This Thread
Validaciones Personalizadas - by ysanchez - 05-16-2021, 07:27 AM
RE: Validaciones Personalizadas - by Beewez - 06-04-2021, 05:29 AM
RE: Validaciones Personalizadas - by shadowmx - 06-10-2021, 10:01 AM



Theme © iAndrew 2016 - Forum software by © MyBB