mahdyaslami/simple-validation

使用复合模式的简单验证。

v0.5.1 2021-05-01 16:25 UTC

This package is auto-updated.

Last update: 2024-09-03 06:25:44 UTC


README

此包提供验证数组、对象等。

我使用复合模式编写了这个包。

UML Diagram

无辅助器的使用方法

<?php

$validator = new ObjectRule([
    new RequiredRule('id', [new IntegerRule(), new LowerRule(5)]),
    new SometimesRule('data', [new ArrayRule([
        new IntegerRule()
    ])]);
]);

$validator->validate($value);

在出现错误时调用 validate 方法抛出 ValidationException,在正确时什么也不做。

使用辅助器的使用方法

<?php

$validator = objectWith([
    required('id', [integer(), lowerThan(5)]),
    sometimes('data', arrayOf([
        integer()
    ]))
]);

如何创建自己的规则

扩展一个合约并实现 validate 方法。

如果你扩展了 CompositeValidator,你应在 validate 方法中也调用 validateChildren 方法。

你还可以覆盖 validateChildren

验证器

arrayOf, objectOf, 
required, sometimes, 
integer, numeric, lowerThan