tp5.1 Reglas de validación Números de validación
Las reglas de verificación distinguen estrictamente entre mayúsculas y minúsculas
Clase de verificación de formato
La clase de verificación de formato admite dos métodos de llamada cuando se utilizan métodos estáticos (la verificación de número es para Por ejemplo, puedes usar number() o isNumber()).
require
Es necesario verificar un determinado campo, por ejemplo:
'name'=>'require'
Si la regla de validación no se agrega require significa que no se realizará ninguna verificación si no hay ningún valor
Dado que require es una palabra reservada de PHP, debe usar el método isRequire o must cuando use la verificación del método.
número
Verifique si el valor de un determinado campo es un número puro (usando la verificación ctype_digit, excluyendo números negativos y puntos decimales), por ejemplo:
'num'= >'número'
entero
Verifica si el valor de un campo es un número entero (usando la verificación filter_var), por ejemplo:
' num'=>'integer '
float
Verifique si el valor de un campo es un número de punto flotante (usando la verificación filter_var), por ejemplo:
'num'=>'float'
booleano o bool
Verifica si el valor de un campo es un valor booleano (usando la verificación filter_var), por ejemplo:
'num'=>'boolean'
Verifique si el valor de un determinado campo es una dirección de correo electrónico (usando la verificación filter_var), por ejemplo:
'email'=>'email' p>
array
Verifica si el valor de un campo es un array, por ejemplo:
'info' =>'array'
aceptado
p>
Verificar si un campo está sí, activado o 1. Esto es útil al confirmar el acuerdo con los "Términos de servicio", por ejemplo:
'accept'=>'aceptado'
fecha
Verifique que el el valor es una fecha válida, por ejemplo:
'fecha'=>'fecha'
El valor de la fecha se juzgará después de strtotime.
alfa
Verificar si el valor de un campo son letras puras, por ejemplo:
'nombre'=>'alfa'
alphaNum
Verifica si el valor de un campo son letras y números, por ejemplo:
'name'=>'alphaNum'
alphaDash
Verificar si el valor de un campo son letras y números, guión bajo_ y guión-, por ejemplo:
'name'=>'alphaDash'
chs
Verifique que el valor de un determinado campo solo pueda ser caracteres chinos, por ejemplo:
'name'=>'chs'
chsAlpha
Verificar que el valor de un determinado campo Los valores solo puedan ser caracteres y letras chinos, por ejemplo:
'name'=>'chsAlpha'
chsAlphaNum
Verifique que el valor de un campo solo pueda ser caracteres chinos, letras y números, por ejemplo:
'name'=>'chsAlphaNum'
chsDash
Verifique que el valor de un campo solo pueda ser caracteres chinos, letras, números y guiones bajos_ y guiones-, por ejemplo:
'name'=>'chsDash'
cntrl (V5.1.17+)
Validar un campo El valor solo puede ser caracteres de control (nueva línea, sangría, espacio), por ejemplo:
'nombre'=>'cntrl'
gráfico (V5.1.17+)
Verificar que el valor de un campo solo pueda ser caracteres imprimibles (excepto espacios), por ejemplo:
'nombre '=>'grafo'
imprimir (V5.1.17 +)
Verificar que el valor de un campo solo pueda ser caracteres imprimibles (incluidos espacios), por ejemplo:
'name'=>'print'
lower (V5.1.17+)
Verifique que el valor de un campo solo pueda contener caracteres en minúscula, por ejemplo:
'nombre'=>'inferior'
superior (V5.1.17+)
Verificar que el valor de un campo solo pueda contener caracteres en mayúsculas, por ejemplo :
'name'=>'upper'
espacio (V5.1.17+)
Verifique que el valor de un campo solo pueda contener caracteres de espacio en blanco ( incluyendo sangría, tabulación vertical, avance de línea, retorno de carro y caracteres de avance de página), por ejemplo: p>
'nombre'=>'espacio'
xdigit (V5.1.17+)
Verifique que el valor de un campo solo pueda ser una cadena hexadecimal. Por ejemplo:
'name'=>'xdigit'
activeUrl
.Verifique si el valor de un campo es un nombre de dominio o IP válido, por ejemplo:
p>
'host'=>'activeUrl'
url
Verifique si el valor de un determinado campo es una dirección URL válida (usando la verificación filter_var), por ejemplo: p>
'url'=>'url'
ip
Verifique si el valor de un determinado campo es una dirección IP válida (usando la verificación filter_var), por ejemplo:
p>
'ip'=>'ip'
Admite la verificación de direcciones IP en formatos ipv4 e ipv6.
dateFormat:format
Verifica si el valor de un campo es una fecha en el formato especificado, por ejemplo:
'create_time'=>'dateFormat: y-m-d '
móvil
Verifica si el valor de un determinado campo es un teléfono móvil válido, por ejemplo:
'móvil'=>'móvil'
idCard
Verifica si el valor de un determinado campo es un formato de tarjeta de identificación válido, por ejemplo:
'id_card'=>'idCard'
macAddr
Verifique si el valor de un determinado campo es una dirección MAC válida, por ejemplo:
'mac'=>'macAddr'
zip
Verificar si el valor de un determinado campo es un código postal válido, por ejemplo:
'zip'=>'zip'
Longitud y clases de validación de intervalo
en
Verificar si el valor de un determinado campo está dentro de un rango determinado, por ejemplo:
'num'=>'en: 1,2,3'
notIn
Verificar que el valor de un campo no esté en un rango determinado, por ejemplo:
'num'=> 'notIn:1,2,3'
entre
Verifica si el valor de un determinado campo está dentro de un rango determinado, por ejemplo:
'num '=>'between:1,10'
notBetween
p>
Verificar que el valor de un determinado campo no esté dentro de un rango determinado, por ejemplo: p>
'num'=>'notBetween:1,10'
length:num1,num2
Verifique si la longitud de un valor de campo está dentro de un rango determinado, por ejemplo:
'name'=>'length:4,25'
O especifique Longitud
'name'=>'length:4'
Si los datos a verificar son una matriz, determine la longitud de la matriz.
Si los datos a verificar son un objeto Archivo, determine el tamaño del archivo.
max:number
Verifique la longitud máxima de un valor de campo, por ejemplo:
'name'=>'max:25'
Si los datos a verificar son una matriz, determine la longitud de la matriz.
Si los datos a verificar son un objeto Archivo, determine el tamaño del archivo.
min:number
Verifique la longitud mínima de un valor de campo, por ejemplo:
'name'=>'min:5'
Si los datos a verificar son una matriz, determine la longitud de la matriz.
Si los datos a verificar son un objeto Archivo, determine el tamaño del archivo.
after:date
Verifica si el valor de un determinado campo es posterior a una fecha determinada, por ejemplo:
'begin_time'=>'after:2016 -3 -18',
antes:fecha
Verifica si el valor de un campo es anterior a una fecha determinada, por ejemplo:
'end_time'= >'before :2016-10-01',
caducar: hora de inicio, hora de finalización
Verifique si la operación actual (tenga en cuenta que no es un valor determinado) se encuentra dentro de una fecha válida determinada , por ejemplo:
'expire_time'=>'expire:2016-2-1,2016-10-01',
allowIp:allow1,allow2,... p>
Verifique si la IP solicitada actualmente está dentro de un rango determinado, por ejemplo:
'name'=>'allowIp:114.45.4.55',
Esta regla puede usarse para un determinado fondo Permisos de acceso, múltiples IP separadas por comas
denyIp:allow1,allow2,...
Verifique si el acceso a la IP solicitada actualmente tiene prohibido, por ejemplo :
'name'=>'denyIp:114.45.4.55',
Separe varias IP con comas
Clase de comparación de campos
confirm
Verifica si un campo es consistente con el valor de otro campo, por ejemplo:
'repassword'=>'require|confirm:password'
Admite reglas de verificación automática de coincidencia de campos, como contraseña y contraseña_confirm se verifican automáticamente entre sí, solo use
'password'=>'require|confirm'
verificará automáticamente si la comparación de campos con contraseña_confirm es consistente y viceversa.
diferente
Verifique si un campo es inconsistente con el valor de otro campo, por ejemplo:
'nombre'=>'require|diferente:cuenta'
eq or = o mismo
Verifica si es igual a un determinado valor, por ejemplo:
'score'=>'eq:100'
'num'=>'=:100'
'num'=>'same:100'
egt o >=
Verificar si es mayor o igual a Un determinado valor, por ejemplo:
'score'=>'egt:60'
'num'=>'>=: 100'
gt o >
Verificar si es mayor que un determinado valor, por ejemplo:
'score'=>'gt:60'
'num'=>'>:100 '
elt o <=
Verifica si es menor o igual a un determinado valor, por ejemplo:
'score'=>'elt:100'
'num'=>'<=:100'
lt o <
Verifique si es menor que un cierto valor, por ejemplo:
'score' =>'lt:100'
'num'=>'<:100'
Comparación de campos
Verificación y comparación de otros tamaños de campos (comparación de tamaños numéricos), por ejemplo:
'price'=>'lt:market_price' p>
'price'=>'<:market_price'
verificación de filtro
Admite el uso de filter_var para verificación, por ejemplo:
' ip'=>'filter:validate_ip'
Verificación regular
Admite el uso directo de la verificación regular, por ejemplo:
'zip'=>'\d {6}',
// o
'zip'=>'regex:\d{ 6}',
Si su expresión regular contiene el | símbolo, debe definirse en una matriz.
'accepted'=>['regex'=>'/^(yes|on|1)$/i'],
También puedes implementar expresiones regulares predefinidas Llamar directamente , por ejemplo, defina el atributo regex en la clase validadora
namespaceapp\index\validate;
usethink\Validate;
classUserextendsValidate
{
protegido$regex = ['zip'=>'\d{6}'];
protegido$rule = [
'nombre' =>'require|max:25',
'email'=>'email',
];
}
Luego puedes usar
'zip'=>'regex:zip',
Cargar archivo de verificación
Verificar si es a Subir archivo
imagen: ancho, alto, tipo
Verifique si es un archivo de imagen. El ancho, alto y tipo son opcionales, y el ancho y el alto deben definirse al mismo tiempo. .
fileExt: sufijo de archivo permitido
Verificar sufijo de archivo subido
fileMime: tipo de archivo permitido
Verificar tipo de archivo subido
p>
fileSize: tamaño de archivo permitido en bytes
Verificar el tamaño del archivo cargado
Verificación de comportamiento
Utilice datos de verificación de comportamiento, por ejemplo:
'data'=>'behavior:\app\index\behavior\Check'
Otras verificaciones
única: tabla, campo, excepto, pk
Verificar si el valor del campo solicitado actualmente es único, por ejemplo:
// Indica verificar si el valor del campo nombre es único en la tabla de usuarios (excluyendo el prefijo) p>
' name'=>'unique:user',
// Verificar otros campos
'name'=>'unique:user,account', p>
// Excluir un determinado valor de clave principal
'name'=>'unique:user,account,10',
// Excluir un determinado valor de clave principal
'name'=>'unique:user,account,10,user_id',
Si necesita verificar la unicidad para condiciones complejas, puede utilizar el siguiente método: p>
// Condiciones de verificación únicas de verificación de múltiples campos
'name'=>'unique:user,status^account',
// Condiciones de verificación complejas
'name '=>'unique:user,status=1&account='.$data['account'],
requireIf:field,value
Verifique que el el valor de un campo es igual a un cierto El valor es obligatorio, por ejemplo:
// Cuando el valor de la cuenta es igual a 1, la contraseña es obligatoria
'contraseña' =>'requireIf:account,1'
requireWith:field
Es obligatorio al verificar que un determinado campo tiene un valor, por ejemplo:
/ / Cuando la cuenta tiene un valor, el campo de contraseña es obligatorio
'contraseña'=>'requireWith:account'
requireCallback:callable
Verifica que la cuenta El campo es obligatorio cuando un invocable es verdadero, por ejemplo:
// Uso El método check_require comprueba si es necesario verificar el campo de edad.
'age'=>'requireCallback: check_require|number'
El método utilizado para comprobar si se requiere verificación admite dos parámetros. El primer parámetro es el valor del campo actual y el segundo parámetro son todos los datos.
functioncheck_require($value, $data){
if(empty($data['cumpleaños'])){
returntrue;
}
}
El campo de edad es obligatorio solo cuando la función check_require devuelve verdadero y se realizarán otras verificaciones posteriores.
// El campo de contraseña debe usarse cuando la cuenta tiene un valor
'password'=>'requireWith:account'