how to allow closing a work item based on Done Criteria
One answer
I wonder about the expectation that a reader will be able to answer based on such a short question without meaningful information. I imagine you wanted to ask how it is possible to prevent closing a work item of a specific type based on attribute values or the lack thereof.
In general work item state changes can be prevented using permissions or pre-conditions/advisors configured for operational behavior. There are some built in pre-conditions such as Required properties for type and state or required properties for condition. If these work for you great. If not there might be the need to create a custom pre-condition.