for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace SimpleCMS\Region\Validation;
use Illuminate\Contracts\Validation\ValidationRule;
/**
* 自定义验证规则
*/
class RegionRule implements ValidationRule
{
* 校验参数类
*
* @var string|null
* @author Dennis Lui <[email protected]>
public ?string $ruleClass = null;
* Run the validation rule.
* @param string $attribute
* @param mixed $value
* @param \Closure(string): \Illuminate\Translation\PotentiallyTranslatedString $fail
* @return void
public function validate(string $attribute, mixed $value, \Closure $fail): void
if (!$this->passes($value)) {
$fail($this->message($attribute));
}
* 获取模型方法类
* @return RegionInterface
protected function getRule($value): RegionInterface
$className = $this->ruleClass;
return new $className($value);
* Determine if the validation rule passes.
* @return bool
public function passes($value)
if (!$this->ruleClass)
return false;
return $this->getRule($value)->isValid();
* Summary of message
* @return string
public function message(string $attribute)
return "The {$attribute} is incorrect.";