kdudas/array-validator

使用一组验证器验证数组

1.4.2 2022-09-01 12:54 UTC

README

使用一组验证器验证值数组

示例验证器

class DemoValidator extends ValidatorChain
{

    public function __construct()
    {
        $validators = [
            'phone' => [
                'required' => true,
                'validators' => [
                    [
                        'type' => Regexp::class,
                        //The message attribute changes the default message of the validator
                        'message' => 'Invalid phone number provided',
                        'options' => [
                            'pattern' => '/\+36-\d{2}[-]\d{3}[-]\d{4}\b/'
                        ]
                    ],
                    [
                        'type' => IsString::class
                    ]
                ]
            ],
            'name' => [
                'required' => true,
                //The Required message attribute changes the default message emmitted when a field is required, but is empty or not present
                'requiredMessage' => 'This field is required',
                'validators' => [
                    [
                        'type' => IsString::class
                    ]
                ]
            ],
            'status' => [
                'required' => true,
                'validators' => [
                    [
                        'type' => IsString::class
                    ],
                    [
                        'type' => Enum::class,
                        'options' => [
                            'allowedElements' => ['active', 'inactive', 'deleted']
                        ]
                    ]
                ]
            ]
        ];

        parent::__construct($validators);
    }

}

您还可以使用与上述相同的参数在KDudas\ArrayValidator\ValidatorChain__construct中创建一个新的实例,并调用其isValid方法。如果您想添加新的验证逻辑,只需在一个类中实现KDudas\ArrayValidator\ValidatorInterface即可使用。要执行验证,只需在验证器实例上调用isValid方法。要获取验证消息,请在ValidatorChain实例上调用getMessages方法。