Your IP : 216.73.216.95


Current Path : /var/www/html/wp-content/plugins/wpide/vendor/rakit/validation/src/Rules/
Upload File :
Current File : /var/www/html/wp-content/plugins/wpide/vendor/rakit/validation/src/Rules/RequiredWithAll.php

<?php

namespace Rakit\Validation\Rules;

use Rakit\Validation\Rule;

class RequiredWithAll extends Required
{
    /** @var bool */
    protected $implicit = true;

    /** @var string */
    protected $message = "The :attribute is required";

    /**
     * Given $params and assign $this->params
     *
     * @param array $params
     * @return self
     */
    public function fillParameters(array $params): Rule
    {
        $this->params['fields'] = $params;
        return $this;
    }

    /**
     * Check the $value is valid
     *
     * @param mixed $value
     * @return bool
     */
    public function check($value): bool
    {
        $this->requireParameters(['fields']);
        $fields = $this->parameter('fields');
        $validator = $this->validation->getValidator();
        $requiredValidator = $validator('required');

        foreach ($fields as $field) {
            if (!$this->validation->hasValue($field)) {
                return true;
            }
        }

        $this->setAttributeAsRequired();
        return $requiredValidator->check($value, []);
    }
}