Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I want to add custom validation for one field in laravel nova resource file.

I have one field in db which is service_id in the service table and I have nova resource file for the same table. On create service I want to get data using service_id from other table and check data is present or not and if present then I don't want to enter that service_id in table.

So can someone help me how can I write custom validation rules in laravel nova resource file?

like image 272
Jigar Avatar asked Oct 16 '22 05:10

Jigar


1 Answers

Using the following command, you can create a custom rule class:

php artisan make:rule CustomRule

Inside the fields function in your resource:

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

Go back to your rule file and inside the passes function:

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';
}
like image 114
Hadi Najem Avatar answered Oct 27 '22 10:10

Hadi Najem