1 / * * 2 * Verifique que el valor del campo esté en un formato válido 3 * @ acceso protegido 4 * @param valor de campo $ valor mixto 5 * @param string $ regla de verificación de regla 6 * @param array $ datos de verificación de datos 7 * @return bool La función protegida 8 * / 9 es ( $ value , $ rule , $ data = []) 10 { 11 switch ( $ rule ) { 12 case 'require': 13 // must 14 $ result =! Empty ( $ value ) || '0' == $ value ; 15 break ; 16 case ' accept ': 17 // accept 18 $ result = in_array ( $ value , ['1', 'on' , 'yes' ]); 19 break ; 20 case 'date': 21 // Si es una fecha válida 22 $ result = false ! == strtotime ( $ value ); 23 break ; 24 case 'alpha': 25 // Permitir solo letras 26 $ result = $ this- > regex ( $ value , '/ ^ [A-Za-z] + $ /' ); 27 break ; 28 case 'alphaNum': 29 // Solo permite letras y números 30 $ result = $ this- > regex ( $ value , '/ ^ [A-Za-z0-9] + $ /' ); 31 break ; 32 case 'alphaDash': 33 // Solo se permiten letras, números y guiones de subrayado 34 $ result = $ this- > regex ( $ value, '/ ^ [A-Za-z0-9 \ - \ _] + $ /' ); 35 break ; 36 mayúsculas y minúsculas : 37 // Solo se permiten caracteres chinos 38 $ result = $ this- > regex ( $ value , '/ ^ [\ x {4e00} - \ x {9fa5}] + $ / u' ); 39 break ; 40 mayúsculas y minúsculas 'chsAlpha': 41 // Solo se permiten caracteres y letras chinas 42 $ result = $ this- > regex ( $ valor , '/ ^ [\ x {4e00} - \ x {9fa5} a-zA-Z] + $ / u' ); 43 descanso ; 44 mayúsculas y minúsculas 'chsAlphaNum': 45 //Solo se permiten caracteres, letras y números chinos 46 $ result = $ this- > regex ( $ value , '/ ^ [\ x {4e00} - \ x {9fa5} a-zA-Z0-9] + $ / u' ); 47 break ; 48 case 'chsDash': 49 // Solo permite caracteres chinos, letras, números y guiones bajos y guiones- 50 $ result = $ this- > regex ( $ value , '/ ^ [\ x {4e00} - \ x {9fa5} a-zA-Z0-9 \ _ \ -] + $ / u ' ); 51 break ; 52 case ' activeUrl ': 53 // Si es una URL válida 54 $ result = checkdnsrr ( $ value ); 55 romper; 56 case 'ip': 57 // ¿ Es la dirección IP 58 $ result = $ this- > filter ( $ value , [FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_IPV6]); 59 break ; 60 case 'url': 61 // Si es Una dirección URL 62 $ result = $ this- > filter ( $ value , FILTER_VALIDATE_URL); 63 break ; 64 case 'float': 65 // is float 66 $ result =la presente $ -> filtro ( $ valor , FILTER_VALIDATE_FLOAT); 67 PAUSA ; 68 Caso 'Número': 69 $ Resultado = is_numeric ( $ valor ); 70 PAUSA ; 71 es el asunto 'Integer': 72 // si el número entero 73 es $ Resultado = $ this- > filter ( $ value , FILTER_VALIDATE_INT); 74 break ; 75 case 'email': 76 // Si es una dirección de correo electrónico 77 $ result= $ this- > filter ( $ value , FILTER_VALIDATE_EMAIL); 78 break ; 79 case 'boolean': 80 // Si es un boolean 81 $ result = in_array ( $ value , [ true , false , 0, 1, '0' , '1'], verdadero ); 82 break ; 83 case 'array': 84 // es un array 85 $ result = is_array ( $ value ); 86 break ; 87 caso 'archivo': 88 $ resultado = $ valor instanceof de archivos ; 89 descanso ; 90 caso 'imagen': 91 $ resultado = $ valor instanceof File && in_array ( $ this -> getImageType ( $ valor -> getRealPath ()), [1, 2, 3, 6 ]); 92 descanso ; 93 'token' de mayúsculas y minúsculas : 94 $ result = $ this -> token ( $ value , '__token__', $ data ); 95 break ; 96 por defecto : 97 if ( isset (self :: $ type [ $ rule ])) { 98 // Regla de verificación de registro 99 $ result = call_user_func_array (self :: $ type [ $ rule ], [ $ value ] ); 100 } más { 101 // Verificación regular 102 $ resultado = $ this- > regex ( $ valor , $ regla ); 103 } 104 } 105 return $ result ; 106 }
// XiaoHeQQ496631085 desarrollo de sitios web y desarrollo secundario, pequeño programa WeChat, etc.