📋 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
49 lines
1.1 KiB
PHP
49 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Illuminate\Validation\Rules;
|
|
|
|
use Closure;
|
|
use InvalidArgumentException;
|
|
use Stringable;
|
|
|
|
class ProhibitedIf implements Stringable
|
|
{
|
|
/**
|
|
* The condition that validates the attribute.
|
|
*
|
|
* @var \Closure|bool
|
|
*/
|
|
public $condition;
|
|
|
|
/**
|
|
* Create a new prohibited validation rule based on a condition.
|
|
*
|
|
* @param \Closure|bool $condition
|
|
* @return void
|
|
*
|
|
* @throws \InvalidArgumentException
|
|
*/
|
|
public function __construct($condition)
|
|
{
|
|
if ($condition instanceof Closure || is_bool($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) ? 'prohibited' : '';
|
|
}
|
|
|
|
return $this->condition ? 'prohibited' : '';
|
|
}
|
|
}
|