### Godot version

4.1.dev (1becfea37c)

### System information

MacOS 13.3 M1 Pro

### Issue description

When you use batch rename you can ask him to rename to invalid node names. it won't raise any warning nor error it will just rename to a valid node names without informing you of the change. For comparison with simple renames this is shown as warning
<img width="452" alt="Capture d’écran 2023-05-02 à 21 49 47" src="https://user-images.githubusercontent.com/66184050/235771076-a2f09307-6c8d-4687-8d31-58234e8e2bf1.png">


### Steps to reproduce

1. create a root Node and two Node children
2. select the two children
3. Batch rename the `e` to `%`
4. See that childrens have been renamed to `Nod_` and `Nod_2` without warning 

### Minimal reproduction project

N/A
void _add_nodes(Node *p_node, TreeItem *p_parent);
	void _test_update_tree();
	bool _update_filter(TreeItem *p_parent = nullptr, bool p_scroll_to_selected = false);
	bool _item_matches_all_terms(TreeItem *p_item, PackedStringArray p_terms);
	void _tree_changed();
	void _tree_process_mode_changed();
	void _node_removed(Node *p_node);
	void _node_renamed(Node *p_node);
	TreeItem *_find(TreeItem *p_node, const NodePath &p_path);
	void _notification(int p_what);
	void _selected_changed();
	void _deselect_items();
	void _rename_node(ObjectID p_node, const String &p_name);
	void _cell_collapsed(Object *p_obj);
	uint64_t last_hash;
	bool can_rename;
	bool can_open_instance;
	bool updating_tree = false;
	bool show_enabled_subscene = false;
	bool is_scene_tree_dock = false;
	void _renamed();
	HashSet<Node *> marked;
	bool marked_selectable = false;
	bool marked_children_selectable = false;
	bool display_foreign = false;
	bool tree_dirty = true;
	bool pending_test_update = false;
	static void _bind_methods();
	void _cell_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button);
	void _toggle_visible(Node *p_node);