我正在应用程序/规则命名空间中创建一个laravel定制的UpperCase.php规则,以判断提交的标题是否以大写字母开头,如果不是,则应抛出错误/失败.
class ArticleController extends Controller
{
public function store(Request $request)
{
$request->validate([
'title' => ['required', new Uppercase()]
]);
Article::create(['title' => $request->title]);
}
}
这是Uppercase.php类中的代码. 我正在判断标题的第一个字符是否大写
use Closure;
use Illuminate\Contracts\Validation\ValidationRule;
class Uppercase implements ValidationRule
{
public function validate(string $attribute, mixed $value, Closure $fail): void
{
if (ucfirst($value) !== $value) {
$fail("The $attribute must start with an uppercase letter.");
}
}
}
更多细节
在运行测试时,仍然失败