How to add conditional validation rules in form requests in Laravel
Categorized as Laravel
Did you know that you can put some conditional validation rules in your Laravel form requests?
class CreateServerRequest extends FormRequest
{
public function rules() {
return [
'version' => [
'required',
Rule::in(['20.04','22.04'])
],
'php_version' => [
'required_if:version,20.04',
Rule::when($this->input('version') === '20.04', [
Rule::in(['7.0','7.1','7.2','7.3','7.4','8.0','8.1']),
]),
Rule::when($this->input('version') === '22.04', [
Rule::in(['8.1']),
]),
],
];
}
}
If you use Inertia, you can also switch from your Javascript validation to server-side validation with Form requests. Works like a charm.