Laravel 5.5 新增的一个功能是自定义验证规则,关于这个功能,Taylor 还写了一个快速教程。
这里是验证规则的一个简单用例:
<?php
use App\Rules\ValidRepository;
$request->validate([
'repository' => [
'required',
new ValidRepository($this->source(), $request->branch)
]
]);这里是做校验的 ValidRepository:
<?php
namespace App\Rules;
use App\Source;
use Illuminate\Contracts\Validation\Rule;
class ValidRepository implements Rule
{
/**
* The source control provider instance.
*
* @var \App\Source
*/
public $source;
/**
* The branch name.
*
* @var string
*/
public $branch;
/**
* Create a new rule instance.
*
* @param \App\Source $source
* @param string $branch
* @return void
*/
public function __construct($source, $branch)
{
$this->source = $source;
$this->branch = $branch;
}
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
if (! $this->source instanceof Source) {
return false;
}
return $this->source->client()->validRepository(
$value, $this->branch
);
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return 'The given repository is invalid.';
}
}想了解更完整的信息,可以查看 Taylor 的文章,里面有关于这个功能的更多详情。
该篇属于专题:《Laravel 5.5 资讯》
dxxs 2017/06/26 19:10
请问站长,macOS窗口样式的代码块是主题自带的吗?该怎么弄出来呢?
Specs 2017/07/02 22:40
@ 目前 github 上放到那个没带,这我也是从别的地方扒的代码,css 实现的。