6

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?

2 Answers 2

5

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';
}
Sign up to request clarification or add additional context in comments.

Comments

0

In Laravel 11.x, this can be done using the built in exists rule:

 Text::make('Service ID', 'service_id')->rules('exists:service,service_id')

See https://laravel.com/docs/11.x/validation

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.