如何在 laravel nova 中为一个字段添加自定义验证和消息

how to add custom validation and message in laravel nova for one field

我想为 laravel nova 资源文件中的一个字段添加自定义验证。

我在数据库中有一个字段,它是 service table 中的 service_id 并且我有相同 table 的 nova 资源文件。在创建服务时,我想使用 service_id 从其他 table 获取数据并检查数据是否存在,如果存在则我不想在 [=23= 中输入 service_id ].

有人可以帮我如何在 laravel nova 资源文件中编写自定义验证规则吗?

使用以下命令,您可以创建自定义规则class:

php artisan make:rule CustomRule

在您的资源中的字段函数内:

Text::make('Service ID', 'service_id')->rules(new CustomRule());

返回到您的规则文件并进入 passes 函数:

public function passes($attribute, $value)
{
    //You can check inside the database if your record exists
    return false; //if the rule should stop the user
    return true; //if everything is fine and you want the user to proceed.
}

public function message()
{
    return 'Return your custom error message';
}