📅  最后修改于: 2023-12-03 15:17:12.846000             🧑  作者: Mango
在 Laravel Nova 中,字段必填的验证与 Laravel 中的验证方式类似。但是,通过 Nova 提供的 Rules
类可以更加方便地实现对字段必填的验证。
Required
规则在字段定义的 rules
中,通过创建 Nova\Rules\Required
规则实现必填验证。
<?php
use Illuminate\Http\Request;
use Laravel\Nova\Fields\Text;
class User extends Resource
{
// ...
/**
* Get the fields displayed by the resource.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function fields(Request $request)
{
return [
Text::make('Name')
->rules('required'), // 使用 Required 规则
];
}
// ...
}
当用户提交的表单数据中,被定义为必填字段未填写时,将会提示错误信息 The field Name is required.
nullable
方法除了使用 Required
规则之外,还可以使用 nullable
方法,该方法使字段可以为空,但如果该字段非空,则必须通过验证。
<?php
use Illuminate\Http\Request;
use Laravel\Nova\Fields\Text;
class User extends Resource
{
// ...
/**
* Get the fields displayed by the resource.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function fields(Request $request)
{
return [
Text::make('Phone')
->nullable(false), // 不能为null
];
}
// ...
}
使用 nullable
方法,可以使字段更加灵活地进行必填验证。