Hi,
The standard way is the following.
You can personalize fields and make them required.
When you want to save the form after an update of any field the error message appears (1).
The next step would be to save this personalization under a new view (2) and then publish it for specific roles.
This is how you can meet your requirement.
The drawback of it is, that it doesnt ensure you have all the fields populated. Let me explain this.
In the item master the product lifecylcle state comes from the InventTable. Therefore, when you create a new item and you want to save it, it will check for the required fields on the InventTable.
The vendor item number (external item description here) is another table, therefore, even if you set a field here mandatory, it will not be checked when you save the product\released product after you created it.
With the method I displayed it may work in some scenarios, but not in all.
If the first case doesnt work. Then I would implement checks with Power Automate.
That means:
-When an item is created or reaches a certain life cycle status a flow is triggered (You may need to create\develop a business event for it)
-The required fields are checked if they are empty (You may need to create\extend the entities in order to get the data from D365FO to Power Automate)
You could also customize D365FO. However, I would always leave the standard if possible and go with the solution with Power Automate, even if the effort is the same or slightly higher.
You are much more flexible in the long run, you stay in standard, which means MS will support you as you dont have custom code, risk of having issues with future updates is minimized.
Kind regards, Adis
If this helped, please mark it as "Verified" for others facing the same issue
Keep in mind that it is possible to mark more than one answer as verified