📜  laravel nova 字段必填 - PHP (1)

📅  最后修改于: 2023-12-03 15:17:12.846000             🧑  作者: Mango

Laravel Nova 字段必填 - PHP

在 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 方法,可以使字段更加灵活地进行必填验证。