自定义验证规则
<?php
namespace App\Http\Requests\V1;
use Illuminate\Validation\Rule;
use App\Http\Requests\BaseRequest;
class ApplicationRequest extends BaseRequest
{
public function rules()
{
return [
'icon' => 'abc'
];
}
}
想自定义一个abc,怎么样定义的。
我按官方的
php artisan make:rule Abc
<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class Abc implements Rule
{
/**
* 判断验证规则是否通过。
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
return strtoupper($value) === $value;
}
/**
* 获取验证错误消息。
*
* @return string
*/
public function message()
{
return 'The :attribute must be uppercase.';
}
}
然后
use App\Rules\Abc;
$request->validate([
'name' => [ new Abc]
'name' =>'abc'//这里不能直接用吗??
]);
$request->validate([
'name' =>new Abc()
]);
直接这样就可以啊
@cy_echo 我知道可以,但是我想用 'icon' => 'abc'
@半人间
在AppServiceProvider 的boot方法中可以自定义
new Abc()
这篇wiki太挫了吧