Yes you can use a business rule for his case.
Do the following:
Now your business rule for checking whether an order has pizza's or not, is ready. To apply the rule to the order do the following:
The choice widget returns true of false, and you have to decide what you want to do when false occured. You can for example return false, that results in a role back of the commit action, and no order is commited. But that's up to you, you can also choose for a error message.
As an alternative you can integrate the business rule in the before commit microflow.
@ Herbert Vuijk, good answer! However, retrieving first object only is sufficient in order to perform this check.
I suggest you make a Microflow that checks if a specific order has at least one Pizza.
Then, you can execute the Microflow before committing an 'Order' object or create a custom 'Save' button that executes this Microflow before you commit the object.
The last option is advised to keep your Metamodel 'clean' and to keep the application performing (the Microflow is only executed at the places you defined instead of every time the object is committed).
@ Herbert Vuijk, good answer! However, retrieving first object only is sufficient in order to perform this check.