Phalcon 过滤器
注意
所有类都以前缀命名Phalcon
过滤器\Exception¶
-  
命名空间
Phalcon\Filter
 -  
使用
 -  
继承
\Exception -  
实现
 
Phalcon\过滤器抛出的异常将使用此类
Exceptions thrown in Phalcon\Filter will use this class
过滤器\过滤器¶
-  
命名空间
Phalcon\Filter
 -  
使用
 -  
继承
 -  
实现
FilterInterface
 
惰性加载、存储并暴露清理对象
常量¶
const FILTER_ABSINT = absint;
const FILTER_ALNUM = alnum;
const FILTER_ALPHA = alpha;
const FILTER_BOOL = bool;
const FILTER_EMAIL = email;
const FILTER_FLOAT = float;
const FILTER_INT = int;
const FILTER_LOWER = lower;
const FILTER_LOWERFIRST = lowerfirst;
const FILTER_REGEX = regex;
const FILTER_REMOVE = remove;
const FILTER_REPLACE = replace;
const FILTER_SPECIAL = special;
const FILTER_SPECIALFULL = specialfull;
const FILTER_STRING = string;
const FILTER_STRING_LEGACY = stringlegacy;
const FILTER_STRIPTAGS = striptags;
const FILTER_TRIM = trim;
const FILTER_UPPER = upper;
const FILTER_UPPERFIRST = upperfirst;
const FILTER_UPPERWORDS = upperwords;
const FILTER_URL = url;
属性¶
方法¶
魔术调用使得辅助对象可以作为方法使用。 过滤器构造函数。 获取一个服务。如果它不在映射数组中,则创建一个新对象,设置它然后返回它。 检查映射数组中是否存在某个服务 使用指定的单个或一组清理器来清理值 设置一个新的服务到映射数组 在内部映射数组中加载对象过滤器\过滤器工厂¶
-  
命名空间
Phalcon\Filter
 -  
使用
Phalcon\Filter\Filter
 -  
继承
 -  
实现
 
过滤器工厂类
@package Phalcon\Filter
方法¶
返回一个定位器对象,其中所有助手都定义在匿名函数中 返回可用的适配器过滤器\过滤器接口
¶
  -  
命名空间
Phalcon\Filter
 -  
使用
 -  
继承
 -  
实现
 
惰性加载、存储并暴露清理对象
方法¶
使用指定的单个或一组清理器来清理值过滤器\清理\绝对整数¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\绝对整数
将值清理为绝对整数
方法¶
过滤器\清理\字母数字¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\字母数字
将值清理为字母数字值
方法¶
过滤器\清理\字母¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\字母
将值清理为字母值
方法¶
过滤器\清理\布尔值¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\布尔值
将值清理为布尔值
方法¶
过滤器\清理\电子邮件¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\电子邮件
清理电子邮件字符串
方法¶
过滤器\清理\浮点数¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\浮点数
将值清理为浮点数
方法¶
过滤器\清理\整数¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\整数
将值清理为整数
方法¶
过滤器\清理\小写¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\小写
将值清理为小写字母
方法¶
过滤器\清理\首字母小写¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\首字母小写
将值清理为首字母小写
方法¶
过滤器\清理\正则表达式¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\正则表达式
执行preg_replace对值进行清理
方法¶
过滤器\清理\移除¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\移除
移除字符串的部分内容以清理值
方法¶
过滤器\清理\替换¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\替换
替换字符串的部分内容以清理值
方法¶
过滤器\清理\特殊字符¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\特殊字符
对值进行特殊字符清理
方法¶
过滤器\清理\完整特殊字符¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\完整特殊字符
对值进行特殊字符清理(htmlspecialchars() 和 ENT_QUOTES)
方法¶
过滤器\清理\字符串值¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
将值清理为字符串
方法¶
过滤器\清理\遗留字符串值¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
使用以下方法将值清理为字符串:filter_var()。该过滤器提供了与v5之前的版本的向后兼容性。对于PHP高于或等于8.1的情况,该过滤器将保持字符串不变。如果传递的不是字符串类型,该方法将返回false
方法¶
过滤器\清理\去除标签¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\去除标签
使用striptags清理值
方法¶
过滤器\清理\修剪¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\修剪
清理值,去除前后空格
方法¶
过滤器\清理\大写¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\大写
将值清理为大写字母
方法¶
过滤器\清理\首字母大写¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\首字母大写
将值清理为首字母大写
方法¶
过滤器\清理\单词首字母大写¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\单词首字母大写
将每个单词的首字母清理为大写
方法¶
过滤器\清理\网址¶
-  
命名空间
Phalcon\Filter\Sanitize
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\过滤器\清理\网址
对值 url 进行清理。
方法¶
过滤/验证¶
-  
命名空间
Phalcon\Filter
 -  
使用
Phalcon\Di\DiPhalcon\Di\DiInterfacePhalcon\Di\InjectablePhalcon\Filter\FilterInterfacePhalcon\Filter\Validation\AbstractCombinedFieldsValidatorPhalcon\Filter\Validation\ExceptionPhalcon\Filter\Validation\ValidationInterfacePhalcon\Filter\Validation\ValidatorInterfacePhalcon\Messages\MessageInterfacePhalcon\Messages\Messages
 -  
继承
Injectable -  
实现
ValidationInterface
 
允许使用自定义或内置的验证器来验证数据
属性¶
/**
 * @var array
 */
protected $combinedFieldsValidators;
/**
 * @var mixed
 */
protected $data;
/**
 * @var object|null
 */
protected $entity;
/**
 * @var array
 */
protected $filters;
/**
 * @var array
 */
protected $labels;
/**
 * @var Messages|null
 */
protected $messages;
/**
 * List of validators
 *
 * @var array
 */
protected $validators;
/**
 * Calculated values
 *
 * @var array
 */
protected $values;
方法¶
Phalcon\Filter\Validation 构造函数 为字段添加一个验证器 将消息追加到消息列表中 将数据分配给一个实体。该实体用于获取验证值。 返回绑定的实体 返回所有过滤器或指定的一个过滤器 获取字段的标签。 返回已注册的验证器 返回添加到验证中的验证器 从数组/对象数据源中获取要验证的值。 从数组/对象数据源中获取要验证的值。 从对象实体源中获取要验证的值。 的别名add方法可以实现反向操作。 为字段添加验证器 设置绑定的实体 向字段添加过滤器。 为字段添加标签  根据一组规则验证一组数据 内部验证,如果返回 true,则跳过当前验证器。 Filter\Validation\AbstractCombinedFieldsValidator
¶
  -  
命名空间
Phalcon\Filter\Validation
 -  
使用
 -  
继承
AbstractValidator -  
实现
 
这是组合字段验证器的基类
Filter\Validation\AbstractValidator
¶
  -  
命名空间
Phalcon\Filter\Validation
 -  
使用
Phalcon\Filter\ValidationPhalcon\Messages\MessagePhalcon\Support\Helper\Arr\Whitelist
 -  
继承
 -  
实现
ValidatorInterface
 
这是验证器的基类。
属性¶
/**
 * Message template
 *
 * @var string|null
 */
protected $template;
/**
 * Message templates
 *
 * @var array
 */
protected $templates;
/**
 * @var array
 */
protected $options;
方法¶
Phalcon\Filter\Validation\Validator 构造函数 返回验证器选项中的一个选项,如果该选项未设置则返回 null 获取模板消息 获取模板集合对象。 检查是否定义了一个选项public function messageFactory( Validation $validation, mixed $field, array $replacements = [] ): Message;
Filter\Validation\AbstractValidatorComposite
¶
  -  
命名空间
Phalcon\Filter\Validation
 -  
使用
Phalcon\Filter\Validation
 -  
继承
AbstractValidator -  
实现
ValidatorCompositeInterface
 
这是组合字段验证器的基类
属性¶
方法¶
执行验证Filter\Validation\Exception¶
-  
命名空间
Phalcon\Filter\Validation
 -  
使用
 -  
继承
\Exception -  
实现
 
Phalcon\Filter\Validation* 类中抛出的异常将使用此类。
Filter\Validation\ValidationInterface
¶
  -  
命名空间
Phalcon\Filter\Validation
 -  
使用
Phalcon\Di\InjectablePhalcon\Messages\MessageInterfacePhalcon\Messages\Messages
 -  
继承
 -  
实现
 
Phalcon\Filter\Validation 组件的接口。
方法¶
为字段添加一个验证器 将消息追加到消息列表中 将数据分配给一个实体。该实体用于获取验证值。 返回绑定的实体 返回所有过滤器或指定的一个过滤器 获取字段的标签。 返回已注册的验证器 返回添加到验证中的验证器 从数组/对象数据源中获取要验证的值。 的别名add方法可以实现反向操作。 为字段添加验证器 向字段添加过滤器。 为字段添加标签 根据一组规则验证一组数据 Filter\Validation\Validator\Alnum¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidator
 -  
继承
AbstractValidator -  
实现
 
检查是否为字母数字字符
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Alnum as AlnumValidator;
$validator = new Validation();
$validator->add(
    "username",
    new AlnumValidator(
        [
            "message" => ":field must contain only alphanumeric characters",
        ]
    )
);
$validator->add(
    [
        "username",
        "name",
    ],
    new AlnumValidator(
        [
            "message" => [
                "username" => "username must contain only alphanumeric characters",
                "name"     => "name must contain only alphanumeric characters",
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\Alpha¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查是否为字母字符
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Alpha as AlphaValidator;
$validator = new Validation();
$validator->add(
    "username",
    new AlphaValidator(
        [
            "message" => ":field must contain only letters",
        ]
    )
);
$validator->add(
    [
        "username",
        "name",
    ],
    new AlphaValidator(
        [
            "message" => [
                "username" => "username must contain only letters",
                "name"     => "name must contain only letters",
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\Between¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
验证一个值是否在两个值的包含范围内。对于值 x,测试通过条件是 minimum<=x<=maximum。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Between;
$validator = new Validation();
$validator->add(
    "price",
    new Between(
        [
            "minimum" => 0,
            "maximum" => 100,
            "message" => "The price must be between 0 and 100",
        ]
    )
);
$validator->add(
    [
        "price",
        "amount",
    ],
    new Between(
        [
            "minimum" => [
                "price"  => 0,
                "amount" => 0,
            ],
            "maximum" => [
                "price"  => 100,
                "amount" => 50,
            ],
            "message" => [
                "price"  => "The price must be between 0 and 100",
                "amount" => "The amount must be between 0 and 50",
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\Callback¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Filter\Validation\ValidatorInterfacePhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
调用用户函数进行验证。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Callback as CallbackValidator;
use Phalcon\Filter\Validation\Validator\Numericality as NumericalityValidator;
$validator = new Validation();
$validator->add(
    ["user", "admin"],
    new CallbackValidator(
        [
            "message" => "There must be only an user or admin set",
            "callback" => function($data) {
                if (!empty($data->getUser()) && !empty($data->getAdmin())) {
                    return false;
                }
                return true;
            }
        ]
    )
);
$validator->add(
    "amount",
    new CallbackValidator(
        [
            "callback" => function($data) {
                if (!empty($data->getProduct())) {
                    return new NumericalityValidator(
                        [
                            "message" => "Amount must be a number."
                        ]
                    );
                }
            }
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\Confirmation¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Filter\Validation\ExceptionPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查两个值是否相同
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Confirmation;
$validator = new Validation();
$validator->add(
    "password",
    new Confirmation(
        [
            "message" => "Password doesn't match confirmation",
            "with"    => "confirmPassword",
        ]
    )
);
$validator->add(
    [
        "password",
        "email",
    ],
    new Confirmation(
        [
            "message" => [
                "password" => "Password doesn't match confirmation",
                "email"    => "Email doesn't match confirmation",
            ],
            "with" => [
                "password" => "confirmPassword",
                "email"    => "confirmEmail",
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证 比较字符串。Filter\Validation\Validator\CreditCard¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查一个值是否具有有效的信用卡号码
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\CreditCard as CreditCardValidator;
$validator = new Validation();
$validator->add(
    "creditCard",
    new CreditCardValidator(
        [
            "message" => "The credit card number is not valid",
        ]
    )
);
$validator->add(
    [
        "creditCard",
        "secondCreditCard",
    ],
    new CreditCardValidator(
        [
            "message" => [
                "creditCard"       => "The credit card number is not valid",
                "secondCreditCard" => "The second credit card number is not valid",
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\Date¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
DateTimePhalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查一个值是否为有效日期
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Date as DateValidator;
$validator = new Validation();
$validator->add(
    "date",
    new DateValidator(
        [
            "format"  => "d-m-Y",
            "message" => "The date is invalid",
        ]
    )
);
$validator->add(
    [
        "date",
        "anotherDate",
    ],
    new DateValidator(
        [
            "format" => [
                "date"        => "d-m-Y",
                "anotherDate" => "Y-m-d",
            ],
            "message" => [
                "date"        => "The date is invalid",
                "anotherDate" => "The another date is invalid",
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\Digit¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查是否为数字字符
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Digit as DigitValidator;
$validator = new Validation();
$validator->add(
    "height",
    new DigitValidator(
        [
            "message" => ":field must be numeric",
        ]
    )
);
$validator->add(
    [
        "height",
        "width",
    ],
    new DigitValidator(
        [
            "message" => [
                "height" => "height must be numeric",
                "width"  => "width must be numeric",
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\Email¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查一个值是否具有正确的电子邮件格式。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Email as EmailValidator;
$validator = new Validation();
$validator->add(
    "email",
    new EmailValidator(
        [
            "message" => "The e-mail is not valid",
        ]
    )
);
$validator->add(
    [
        "email",
        "anotherEmail",
    ],
    new EmailValidator(
        [
            "message" => [
                "email"        => "The e-mail is not valid",
                "anotherEmail" => "The another e-mail is not valid",
            ],
        ]
    )
);
$validator->add(
    "täst@example.com",
    new EmailValidator(
        [
            "message" => "The e-mail is not valid",
            "allowUTF8" => true,
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\Exception¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
 -  
继承
\Exception -  
实现
 
Phalcon\Filter\Validation\Validator* 类中抛出的异常将使用此类。
Filter\Validation\Validator\ExclusionIn¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Filter\Validation\ExceptionPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查一个值是否不在值列表中。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\ExclusionIn;
$validator = new Validation();
$validator->add(
    "status",
    new ExclusionIn(
        [
            "message" => "The status must not be A or B",
            "domain"  => [
                "A",
                "B",
            ],
        ]
    )
);
$validator->add(
    [
        "status",
        "type",
    ],
    new ExclusionIn(
        [
            "message" => [
                "status" => "The status must not be A or B",
                "type"   => "The type must not be 1 or "
            ],
            "domain" => [
                "status" => [
                    "A",
                    "B",
                ],
                "type"   => [1, 2],
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\File¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorCompositePhalcon\Filter\Validation\Validator\File\MimeTypePhalcon\Filter\Validation\Validator\File\Resolution\EqualPhalcon\Filter\Validation\Validator\File\Resolution\MaxPhalcon\Filter\Validation\Validator\File\Resolution\MinPhalcon\Filter\Validation\Validator\File\Size\EqualPhalcon\Filter\Validation\Validator\File\Size\MaxPhalcon\Filter\Validation\Validator\File\Size\MinPhalcon\Messages\MessagePhalcon\Support\Helper\Arr\Get
 -  
继承
AbstractValidatorComposite -  
实现
 
检查一个值是否具有正确的文件
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\File as FileValidator;
$validator = new Validation();
$validator->add(
    "file",
    new FileValidator(
        [
            "maxSize"              => "2M",
            "messageSize"          => ":field exceeds the max file size (:size)",
            "allowedTypes"         => [
                "image/jpeg",
                "image/png",
            ],
            "messageType"          => "Allowed file types are :types",
            "maxResolution"        => "800x600",
            "messageMaxResolution" => "Max resolution of :field is :resolution",
            "messageFileEmpty"     => "File is empty",
            "messageIniSize"       => "Ini size is not valid",
            "messageValid"         => "File is not valid",
        ]
    )
);
$validator->add(
    [
        "file",
        "anotherFile",
    ],
    new FileValidator(
        [
            "maxSize" => [
                "file"        => "2M",
                "anotherFile" => "4M",
            ],
            "messageSize" => [
                "file"        => "file exceeds the max file size 2M",
                "anotherFile" => "anotherFile exceeds the max file size 4M",
            "allowedTypes" => [
                "file"        => [
                    "image/jpeg",
                    "image/png",
                ],
                "anotherFile" => [
                    "image/gif",
                    "image/bmp",
                ],
            ],
            "messageType" => [
                "file"        => "Allowed file types are image/jpeg and image/png",
                "anotherFile" => "Allowed file types are image/gif and image/bmp",
            ],
            "maxResolution" => [
                "file"        => "800x600",
                "anotherFile" => "1024x768",
            ],
            "messageMaxResolution" => [
                "file"        => "Max resolution of file is 800x600",
                "anotherFile" => "Max resolution of file is 1024x768",
            ],
        ]
    )
);
方法¶
构造函数Filter\Validation\Validator\File\AbstractFile
¶
  -  
命名空间
Phalcon\Filter\Validation\Validator\File
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查一个值是否具有正确的文件
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\File\Size;
$validator = new Validation();
$validator->add(
    "file",
    new Size(
        [
            "maxSize"              => "2M",
            "messageSize"          => ":field exceeds the max file size (:size)",
        ]
    )
);
$validator->add(
    [
        "file",
        "anotherFile",
    ],
    new FileValidator(
        [
            "maxSize" => [
                "file"        => "2M",
                "anotherFile" => "4M",
            ],
            "messageSize" => [
                "file"        => "file exceeds the max file size 2M",
                "anotherFile" => "anotherFile exceeds the max file size 4M",
            ],
        ]
    )
);
属性¶
/**
 * Empty is empty
 *
 * @var string
 */
protected $messageFileEmpty = Field :field must not be empty;
/**
 * File exceeds the file size set in PHP configuration
 *
 * @var string
 */
protected $messageIniSize = File :field exceeds the maximum file size;
/**
 * File is not valid
 *
 * @var string
 */
protected $messageValid = Field :field is not valid;
方法¶
检查上传。 检查上传是否为空。 检查上传是否有效。 检查上传文件是否大于 PHP 允许的大小。 将类似 "2.5MB" 的字符串转换为字节。 空即是空。 文件超过 PHP 配置中设置的文件大小限制。 文件无效。 空检查。 空即是空。 文件超过 PHP 配置中设置的文件大小限制。 文件无效。 检查文件是否已上传;这是一个内部检查,可在子类中重写,如果你不想检查上传的文件。Filter\Validation\Validator\File\MimeType¶
-  
命名空间
Phalcon\Filter\Validation\Validator\File
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\ExceptionPhalcon\Messages\Message
 -  
继承
AbstractFile -  
实现
 
检查一个值是否具有正确的文件 MIME 类型
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\File\MimeType;
$validator = new Validation();
$validator->add(
    "file",
    new MimeType(
        [
            "types" => [
                "image/jpeg",
                "image/png",
            ],
            "message" => "Allowed file types are :types"
        ]
    )
);
$validator->add(
    [
        "file",
        "anotherFile",
    ],
    new MimeType(
        [
            "types" => [
                "file"        => [
                    "image/jpeg",
                    "image/png",
                ],
                "anotherFile" => [
                    "image/gif",
                    "image/bmp",
                ],
            ],
            "message" => [
                "file"        => "Allowed file types are image/jpeg and image/png",
                "anotherFile" => "Allowed file types are image/gif and image/bmp",
            ]
        ]
    )
);
属性¶
方法¶
执行验证Filter\Validation\Validator\File\Resolution\Equal¶
-  
命名空间
Phalcon\Filter\Validation\Validator\File\Resolution
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\Validator\File\AbstractFilePhalcon\Messages\Message
 -  
继承
AbstractFile -  
实现
 
检查文件是否有正确的分辨率。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\File\Resolution\Equal;
$validator = new Validation();
$validator->add(
    "file",
    new Equal(
        [
            "resolution" => "800x600",
            "message"    => "The resolution of the field :field has to be equal :resolution",
        ]
    )
);
$validator->add(
    [
        "file",
        "anotherFile",
    ],
    new Equal(
        [
            "resolution" => [
                "file"        => "800x600",
                "anotherFile" => "1024x768",
            ],
            "message" => [
                "file"        => "Equal resolution of file has to be 800x600",
                "anotherFile" => "Equal resolution of file has to be 1024x768",
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\File\Resolution\Max¶
-  
命名空间
Phalcon\Filter\Validation\Validator\File\Resolution
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\Validator\File\AbstractFilePhalcon\Messages\Message
 -  
继承
AbstractFile -  
实现
 
检查文件是否有正确的分辨率。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\File\Resolution\Max;
$validator = new Validation();
$validator->add(
    "file",
    new Max(
        [
            "resolution"      => "800x600",
            "message"  => "Max resolution of :field is :resolution",
            "included" => true,
        ]
    )
);
$validator->add(
    [
        "file",
        "anotherFile",
    ],
    new Max(
        [
            "resolution" => [
                "file"        => "800x600",
                "anotherFile" => "1024x768",
            ],
            "included" => [
                "file"        => false,
                "anotherFile" => true,
            ],
            "message" => [
                "file"        => "Max resolution of file is 800x600",
                "anotherFile" => "Max resolution of file is 1024x768",
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\File\Resolution\Min¶
-  
命名空间
Phalcon\Filter\Validation\Validator\File\Resolution
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\Validator\File\AbstractFilePhalcon\Messages\Message
 -  
继承
AbstractFile -  
实现
 
检查文件是否有正确的分辨率。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\File\Resolution\Min;
$validator = new Validation();
$validator->add(
    "file",
    new Min(
        [
            "resolution" => "800x600",
            "message"    => "Min resolution of :field is :resolution",
            "included"   => true,
        ]
    )
);
$validator->add(
    [
        "file",
        "anotherFile",
    ],
    new Min(
        [
            "resolution" => [
                "file"        => "800x600",
                "anotherFile" => "1024x768",
            ],
            "included" => [
                "file"        => false,
                "anotherFile" => true,
            ],
            "message" => [
                "file"        => "Min resolution of file is 800x600",
                "anotherFile" => "Min resolution of file is 1024x768",
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\File\Size\Equal¶
-  
命名空间
Phalcon\Filter\Validation\Validator\File\Size
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\Validator\File\AbstractFile
 -  
继承
AbstractFile -  
实现
 
检查一个值是否具有正确的文件
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\File\Size;
$validator = new Validation();
$validator->add(
    "file",
    new Equal(
        [
            "size"     => "2M",
            "included" => true,
            "message"  => ":field exceeds the equal file size (:size)",
        ]
    )
);
$validator->add(
    [
        "file",
        "anotherFile",
    ],
    new Equal(
        [
            "size" => [
                "file"        => "2M",
                "anotherFile" => "4M",
            ],
            "included" => [
                "file"        => false,
                "anotherFile" => true,
            ],
            "message" => [
                "file"        => "file does not have the right file size",
                "anotherFile" => "anotherFile wrong file size (4MB)",
            ],
        ]
    )
);
属性¶
/**
 * @var string|null
 */
protected $template = File :field does not have the exact :size file size;
方法¶
执行验证 执行条件判断。Filter\Validation\Validator\File\Size\Max¶
-  
命名空间
Phalcon\Filter\Validation\Validator\File\Size
 -  
使用
 -  
继承
Equal -  
实现
 
检查一个值是否具有正确的文件
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\File\Size;
$validator = new Validation();
$validator->add(
    "file",
    new Max(
        [
            "size"     => "2M",
            "included" => true,
            "message"  => ":field exceeds the max file size (:size)",
        ]
    )
);
$validator->add(
    [
        "file",
        "anotherFile",
    ],
    new Max(
        [
            "size" => [
                "file"        => "2M",
                "anotherFile" => "4M",
            ],
            "included" => [
                "file"        => false,
                "anotherFile" => true,
            ],
            "message" => [
                "file"        => "file exceeds the max file size 2M",
                "anotherFile" => "anotherFile exceeds the max file size 4M",
            ],
        ]
    )
);
属性¶
方法¶
执行条件判断。Filter\Validation\Validator\File\Size\Min¶
-  
命名空间
Phalcon\Filter\Validation\Validator\File\Size
 -  
使用
 -  
继承
Equal -  
实现
 
检查一个值是否具有正确的文件
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\File\Size;
$validator = new Validation();
$validator->add(
    "file",
    new Min(
        [
            "size"     => "2M",
            "included" => true,
            "message"  => ":field exceeds the min file size (:size)",
        ]
    )
);
$validator->add(
    [
        "file",
        "anotherFile",
    ],
    new Min(
        [
            "size" => [
                "file"        => "2M",
                "anotherFile" => "4M",
            ],
            "included" => [
                "file"        => false,
                "anotherFile" => true,
            ],
            "message" => [
                "file"        => "file exceeds the min file size 2M",
                "anotherFile" => "anotherFile exceeds the min file size 4M",
            ],
        ]
    )
);
属性¶
方法¶
执行条件判断。Filter\Validation\Validator\Identical¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查一个值是否与其他值相同
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Identical;
$validator = new Validation();
$validator->add(
    "terms",
    new Identical(
        [
            "accepted" => "yes",
            "message" => "Terms and conditions must be accepted",
        ]
    )
);
$validator->add(
    [
        "terms",
        "anotherTerms",
    ],
    new Identical(
        [
            "accepted" => [
                "terms"        => "yes",
                "anotherTerms" => "yes",
            ],
            "message" => [
                "terms"        => "Terms and conditions must be accepted",
                "anotherTerms" => "Another terms  must be accepted",
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\InclusionIn¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Filter\Validation\ExceptionPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查一个值是否在值列表中。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\InclusionIn;
$validator = new Validation();
$validator->add(
    "status",
    new InclusionIn(
        [
            "message" => "The status must be A or B",
            "domain"  => ["A", "B"],
        ]
    )
);
$validator->add(
    [
        "status",
        "type",
    ],
    new InclusionIn(
        [
            "message" => [
                "status" => "The status must be A or B",
                "type"   => "The status must be 1 or 2",
            ],
            "domain" => [
                "status" => ["A", "B"],
                "type"   => [1, 2],
            ]
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\Ip¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查 IP 地址
use Phalcon\Filter\Validation\Validator\Ip as IpValidator;
$validator->add(
    "ip_address",
    new IpValidator(
        [
            "message"       => ":field must contain only ip addresses",
            "version"       => IP::VERSION_4 | IP::VERSION_6, // v6 and v4. The same if not specified
            "allowReserved" => false,   // False if not specified. Ignored for v6
            "allowPrivate"  => false,   // False if not specified
            "allowEmpty"    => false,
        ]
    )
);
$validator->add(
    [
        "source_address",
        "destination_address",
    ],
    new IpValidator(
        [
            "message" => [
                "source_address"      => "source_address must be a valid IP address",
                "destination_address" => "destination_address must be a valid IP address",
            ],
            "version" => [
                 "source_address"      => Ip::VERSION_4 | IP::VERSION_6,
                 "destination_address" => Ip::VERSION_4,
            ],
            "allowReserved" => [
                 "source_address"      => false,
                 "destination_address" => true,
            ],
            "allowPrivate" => [
                 "source_address"      => false,
                 "destination_address" => true,
            ],
            "allowEmpty" => [
                 "source_address"      => false,
                 "destination_address" => true,
            ],
        ]
    )
);
常量¶
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\Numericality¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查有效的数值
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Numericality;
$validator = new Validation();
$validator->add(
    "price",
    new Numericality(
        [
            "message" => ":field is not numeric",
        ]
    )
);
$validator->add(
    [
        "price",
        "amount",
    ],
    new Numericality(
        [
            "message" => [
                "price"  => "price is not numeric",
                "amount" => "amount is not numeric",
            ]
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\PresenceOf¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
验证一个值不是 null 或空字符串。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\PresenceOf;
$validator = new Validation();
$validator->add(
    "name",
    new PresenceOf(
        [
            "message" => "The name is required",
        ]
    )
);
$validator->add(
    [
        "name",
        "email",
    ],
    new PresenceOf(
        [
            "message" => [
                "name"  => "The name is required",
                "email" => "The email is required",
            ],
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\Regex¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
允许验证字段值是否匹配正则表达式。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Regex as RegexValidator;
$validator = new Validation();
$validator->add(
    "created_at",
    new RegexValidator(
        [
            "pattern" => "/^[0-9]{4}[-\/](0[1-9]|1[12])[-\/](0[1-9]|[12][0-9]|3[01])$/",
            "message" => "The creation date is invalid",
        ]
    )
);
$validator->add(
    [
        "created_at",
        "name",
    ],
    new RegexValidator(
        [
            "pattern" => [
                "created_at" => "/^[0-9]{4}[-\/](0[1-9]|1[12])[-\/](0[1-9]|[12][0-9]|3[01])$/",
                "name"       => "/^[a-z]$/",
            ],
            "message" => [
                "created_at" => "The creation date is invalid",
                "name"       => "The name is invalid",
            ]
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\StringLength¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\Validation\AbstractValidatorPhalcon\Filter\Validation\AbstractValidatorCompositePhalcon\Filter\Validation\ExceptionPhalcon\Filter\Validation\Validator\StringLength\MaxPhalcon\Filter\Validation\Validator\StringLength\MinPhalcon\Messages\Message
 -  
继承
AbstractValidatorComposite -  
实现
 
验证字符串满足指定的最大和最小长度约束。当字符串长度 L 满足 min<=L<=max 时测试通过,即 L 至少为 min,最多为 max。从 Phalcon v4.0 开始,此验证器的工作方式类似于容器。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\StringLength as StringLength;
$validator = new Validation();
$validation->add(
    "name_last",
    new StringLength(
        [
            "max"             => 50,
            "min"             => 2,
            "messageMaximum"  => "We don't like really long names",
            "messageMinimum"  => "We want more than just their initials",
            "includedMaximum" => true,
            "includedMinimum" => false,
        ]
    )
);
$validation->add(
    [
        "name_last",
        "name_first",
    ],
    new StringLength(
        [
            "max" => [
                "name_last"  => 50,
                "name_first" => 40,
            ],
            "min" => [
                "name_last"  => 2,
                "name_first" => 4,
            ],
            "messageMaximum" => [
                "name_last"  => "We don't like really long last names",
                "name_first" => "We don't like really long first names",
            ],
            "messageMinimum" => [
                "name_last"  => "We don't like too short last names",
                "name_first" => "We don't like too short first names",
            ],
            "includedMaximum" => [
                "name_last"  => false,
                "name_first" => true,
            ],
            "includedMinimum" => [
                "name_last"  => false,
                "name_first" => true,
            ]
        ]
    )
);
方法¶
构造函数Filter\Validation\Validator\StringLength\Max¶
-  
命名空间
Phalcon\Filter\Validation\Validator\StringLength
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Filter\Validation\ExceptionPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
验证字符串满足指定的最大长度约束。当字符串长度 L 满足 L<=max 时测试通过,即 L 最多为 max。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\StringLength\Max;
$validator = new Validation();
$validation->add(
    "name_last",
    new Max(
        [
            "max"      => 50,
            "message"  => "We don't like really long names",
            "included" => true
        ]
    )
);
$validation->add(
    [
        "name_last",
        "name_first",
    ],
    new Max(
        [
            "max" => [
                "name_last"  => 50,
                "name_first" => 40,
            ],
            "message" => [
                "name_last"  => "We don't like really long last names",
                "name_first" => "We don't like really long first names",
            ],
            "included" => [
                "name_last"  => false,
                "name_first" => true,
            ]
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\StringLength\Min¶
-  
命名空间
Phalcon\Filter\Validation\Validator\StringLength
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Filter\Validation\ExceptionPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
验证字符串满足指定的最小长度约束。当字符串长度 L 满足 min<=L 时测试通过,即 L 至少为 min。
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\StringLength\Min;
$validator = new Validation();
$validation->add(
    "name_last",
    new Min(
        [
            "min"     => 2,
            "message" => "We want more than just their initials",
            "included" => true
        ]
    )
);
$validation->add(
    [
        "name_last",
        "name_first",
    ],
    new Min(
        [
            "min" => [
                "name_last"  => 2,
                "name_first" => 4,
            ],
            "message" => [
                "name_last"  => "We don't like too short last names",
                "name_first" => "We don't like too short first names",
            ],
            "included" => [
                "name_last"  => false,
                "name_first" => true,
            ]
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\Validator\Uniqueness¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractCombinedFieldsValidatorPhalcon\Filter\Validation\ExceptionPhalcon\Messages\MessagePhalcon\Mvc\ModelPhalcon\Mvc\ModelInterface
 -  
继承
AbstractCombinedFieldsValidator -  
实现
 
检查字段在相关表中是否唯一
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Uniqueness as UniquenessValidator;
$validator = new Validation();
$validator->add(
    "username",
    new UniquenessValidator(
        [
            "model"   => new Users(),
            "message" => ":field must be unique",
        ]
    )
);
与字段不同的属性:
$validator->add(
    "username",
    new UniquenessValidator(
        [
            "model"     => new Users(),
            "attribute" => "nick",
        ]
    )
);
在模型中:
模型中的字段组合:
可以在验证之前转换值。这在需要将值转换以执行数据库查找的情况下很有用:
$validator->add(
    "username",
    new UniquenessValidator(
        [
            "convert" => function (array $values) {
                $values["username"] = strtolower($values["username"]);
                return $values;
            }
        ]
    )
);
属性¶
方法¶
构造函数 执行验证 列映射用于获取真实列名的情况 用于模型的唯一性方法Filter\Validation\Validator\Url¶
-  
命名空间
Phalcon\Filter\Validation\Validator
 -  
使用
Phalcon\Filter\ValidationPhalcon\Filter\Validation\AbstractValidatorPhalcon\Messages\Message
 -  
继承
AbstractValidator -  
实现
 
检查一个值是否具有 URL 格式
use Phalcon\Filter\Validation;
use Phalcon\Filter\Validation\Validator\Url as UrlValidator;
$validator = new Validation();
$validator->add(
    "url",
    new UrlValidator(
        [
            "message" => ":field must be a url",
        ]
    )
);
$validator->add(
    [
        "url",
        "homepage",
    ],
    new UrlValidator(
        [
            "message" => [
                "url"      => "url must be a url",
                "homepage" => "homepage must be a url",
            ]
        ]
    )
);
属性¶
方法¶
构造函数 执行验证Filter\Validation\ValidatorCompositeInterface
¶
  -  
命名空间
Phalcon\Filter\Validation
 -  
使用
Phalcon\Filter\Validation
 -  
继承
 -  
实现
 
这是组合字段验证器的基类
方法¶
执行验证 执行验证Filter\Validation\ValidatorFactory¶
-  
命名空间
Phalcon\Filter\Validation
 -  
使用
Phalcon\Factory\AbstractFactory
 -  
继承
AbstractFactory -  
实现
 
该文件是Phalcon框架的一部分。
(c) Phalcon团队team@phalcon.io
有关完整的版权和许可信息,请查看随此源代码分发的LICENSE.txt文件。
方法¶
TagFactory构造函数。 创建一个新实例 返回可用的适配器Filter\Validation\ValidatorInterface
¶
  -  
命名空间
Phalcon\Filter\Validation
 -  
使用
Phalcon\Filter\Validation
 -  
继承
 -  
实现
 
Phalcon\Filter\Validation\AbstractValidator 的接口