### Godot version

v4.2.beta1.official [b1371806a]

### System information

Godot v4.2.beta1 - macOS 12.7.0 - Vulkan (Forward+) - dedicated AMD Radeon HD - FirePro D300 - Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz (8 Threads)

### Issue description

When creating a plugin with a dot in the name in the project settings and leaving "Script Name" empty fails. Also, when a plugin folder is added via file system which contains a dot, information for that plugin cannot be be updated in the project settings.

Will be solved by: https://github.com/godotengine/godot/pull/83329

### Steps to reproduce

Create new plugin:

- Open project settings
- Click on "Create New Plugin" in the "Plugin" tab
- Choose a name with a dot in it (e.g., "my.plugin") and leave "Script Name" empty
- Create
- It will fail to create the plugin script

Update existing plugin:

- Add a plugin directory with a dot in the folder name (e.g., "my.plugin") in the file system
- Open project settings
- Click on the edit button in the "Plugin" tab for that plugin
- Change "Author" to some name
- Update
- Author was not changed in the table or in "plugin.cfg"

### Minimal reproduction project

[plugin_config_dialog.zip](https://github.com/godotengine/godot/files/12905755/plugin_config_dialog.zip)

_clear_fields();
}
void PluginConfigDialog::_on_required_text_changed() {
	int lang_idx = script_option_edit->get_selected();
	String ext = ScriptServer::get_language(lang_idx)->get_extension();
	if (name_edit->get_text().is_empty()) {
		validation_panel->set_message(MSG_ID_PLUGIN, TTR("Plugin name cannot be blank."), EditorValidationPanel::MSG_ERROR);
	}
	if ((!script_edit->get_text().get_extension().is_empty() && script_edit->get_text().get_extension() != ext) || script_edit->get_text().ends_with(".")) {
		validation_panel->set_message(MSG_ID_SCRIPT, vformat(TTR("Script extension must match chosen language extension (.%s)."), ext), EditorValidationPanel::MSG_ERROR);
	}
	if (subfolder_edit->is_visible()) {
		if (!subfolder_edit->get_text().is_empty() && !subfolder_edit->get_text().is_valid_filename()) {
			validation_panel->set_message(MSG_ID_SUBFOLDER, TTR("Subfolder name is not a valid folder name."), EditorValidationPanel::MSG_ERROR);
		} else {
			String path = "res://addons/" + _get_subfolder();
			if (!_edit_mode && DirAccess::exists(path)) { 
				validation_panel->set_message(MSG_ID_SUBFOLDER, TTR("Subfolder cannot be one which already exists."), EditorValidationPanel::MSG_ERROR);
			}
		}
	} else {
		validation_panel->set_message(MSG_ID_SUBFOLDER, "", EditorValidationPanel::MSG_OK);
	}
}
String PluginConfigDialog::_get_subfolder() {