📋 Commit iniziale con: - ✅ Documentazione unificata in docs/ - ✅ Codice Laravel in netgescon-laravel/ - ✅ Script automazione in scripts/ - ✅ Configurazione sync rsync - ✅ Struttura organizzata e pulita 🔄 Versione: 2025.07.19-1644 🎯 Sistema pronto per Git distribuito
45 lines
979 B
PHP
45 lines
979 B
PHP
<?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
|
|
*/
|
|
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' : '';
|
|
}
|
|
}
|