RequiredIf.php
TLDR
This file contains a class called RequiredIf
which is used to create a validation rule that checks if an attribute is required based on a condition.
Classes
RequiredIf
This class is used to create a validation rule that checks if an attribute is required based on a condition. The condition can be a callable or boolean. If the condition is a callable, the __toString()
method will call the callable and return 'required' if the condition is true, or an empty string if the condition is false. If the condition is a boolean, the __toString()
method will return 'required' if the condition is true, or an empty string if the condition is false.
Methods
None
<?php
namespace Illuminate\Validation\Rules;
use InvalidArgumentException;
use Stringable;
class RequiredIf implements Stringable
{
/**
* The condition that validates the attribute.
*
* @var callable|bool
*/
public $condition;
/**
* Create a new required validation rule based on a condition.
*
* @param callable|bool $condition
* @return void
*/
public function __construct($condition)
{
if (! is_string($condition)) {
$this->condition = $condition;
} else {
throw new InvalidArgumentException('The provided condition must be a callable or boolean.');
}
}
/**
* Convert the rule to a validation string.
*
* @return string
*/
public function __toString()
{
if (is_callable($this->condition)) {
return call_user_func($this->condition) ? 'required' : '';
}
return $this->condition ? 'required' : '';
}
}