Forms\Components\Select::make('field1') ->label('Field 1') ->options([ 'OP1' => 'OP1', 'OP2' => 'OP2', 'OP3' => 'OP3', ]) ->reactive() ->afterStateUpdated(function (callable $get, Closure $set, $state) { if ( in_array($state, ['OP1', OP3]) && !$get('required_field') ) { throw ValidationException::withMessages(['required_field' => 'Check is required']); } }) ->required(), Forms\Components\Select::make('field2') ->label('Field 2') ->options([ 'OP1' => 'OP1', 'OP2' => 'OP2', 'OP3' => 'OP3', ]) ->reactive() ->afterStateUpdated(function (callable $get, Closure $set, $state) { if ( in_array($state, ['OP2', OP3]) && !$get('required_field') ) { throw ValidationException::withMessages(['required_field' => 'Check is required']); } }) ->required(), Forms\Components\Select::make('check1') ->label('Check 1') ->options(['YES' => 'Yes', 'NO' => 'No']) ->default('NO') ->reactive() ->afterStateUpdated(function (callable $get, Closure $set, $state) { if ($state == 'YES' && !$get('required_field')) { throw ValidationException::withMessages(['required_field' => 'Check is required']); } }) ->required(), Forms\Components\Select::make('check2') ->label('Check 2') ->options(['YES' => 'Yes', 'NO' => 'No']) ->default('NO') ->reactive() ->afterStateUpdated(function (callable $get, Closure $set, $state) { if ($state == 'YES' && !$get('required_field')) { throw ValidationException::withMessages(['required_field' => 'Check is required']); } }) ->required(), Forms\Components\Toggle::make('required_field') ->reactive(),