Verificación personalizada en Laravel, como verificación de identificación

Después de Laravel 5.5, puede crear su propio objeto de regla de validación personalizado.
Para crear una nueva regla, simplemente ejecute el comando Artisan:

php artisan make:rule Id


Laravel colocará la nueva clase de reglas en el app/Rulesdirectorio. Los
ejemplos de reglas de validación de objetos personalizados pueden ser similares a:

 

 

<? php 
espacio de nombres App \ Rules; 

use Illuminate \ Contracts \ Validation \ Rule; 

La identificación de la clase implementa la regla 
{ 
    mensaje $ privado; 

    / ** 
     * Determinar si pasa la regla de validación. 
     * 
     * @param cadena $ atributo 
     * @param mixto $ valor 
     * 
     * @return bool 
     * / 
    pasa de función pública ($ atributo, $ valor) 
    { 
        if (! $ this-> isValidCard ($ value)) { 
            $ this-> mensaje = '身份证 格式 错误, 请 输入 正确 的 身份证.'; 
            falso retorno; 
        } 

        devuelve verdadero; 
    } 

    / **  
     * Obtiene el mensaje de error de validación.
     * 
     * @return string
     * / 
    public function message () 
    { 
        return $ this-> message; 
    } 

    / ** 
     * 身份证 验证
     * @param $ id 
     * @return bool 
     * / 
    función privada isValidCard ($ id) { 
        if (18! = Strlen ($ id)) { 
            return false; 
        } 
        $ peso = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; 
        $ código = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']; 
        $ modo = 0; 
        $ ver = substr ($ id, -1); 
        if ($ ver == 'x') { 
            $ ver = 'X'; 
            if ($ clave == 17) { 
                continuar; 
            } 
            $ dígito = intval (substr ($ id, $ clave, 1)); 
            $ modo + = $ dígito * $ val; 
        } 
        $ modo% = 11; 
        if ($ ver! = $ code [$ mode]) { 
            return false; 
        } 
        lista ($ mes, $ día, $ año) = self :: getMDYFromCard ($ id); 
        $ check = checkdate ($ mes, $ día, $ año); 
        if (! $ check) { 
            devuelve falso; 
        } 
        $ hoy = fecha ('Ymd'); 
        $ fecha = substr ($ id, 6, 8); 
        if ($ fecha> = $ hoy) { 
            devolver falso;
        } 
        devuelve verdadero; 
    } 

    función privada getMDYFromCard ($ id) { 
        $ date = substr ($ id, 6, 8); 
        $ año = substr ($ fecha, 0, 4); 
        $ mes = substr ($ fecha, 4, 2); 
        $ día = substr ($ fecha, 6); 
        return [$ mes, $ día, $ año]; 
    } 
}

 

Introducir en el controlador:

$ reglas = [ 

    'nombre_comprador' => ['expresión regular: / ^ [\ p {Han} | \ w] {2,30} $ / u'], 
    'número_id_comprador' => ['requerido', nueva ID], 
    'buyer_telephone' => 'obligatorio | único: inversor', 

];

 

Supongo que te gusta

Origin blog.csdn.net/lchmyhua88/article/details/108693002
Recomendado
Clasificación