Can I forbid a type to assign a specific behavior?

For example, in controlpanel, for a specific type, it would appear disabled:

I'm guessing you could use for="" with an interface for types that /do/ allow the behavior?
See https://pypi.org/project/plone.behavior/#zcml-examples Example 5.
I don't know if the UI reflects this.

I have a custom type that don't have even the Plone default behaviors in it's xml definition, and want to forbid anyone, in the control panel ui, to set any (or specific) behavior but only for this specific type. I don't want to change how the original behaviors are defined, but want to specify, somewhere, that for my specific custom type, no behaviors should be assigned.

Your suggestion could work, but then I need to override the behavior definition and explicitly say all interfaces that could use that behavior, but this is not optimal since I'll need to edit that configuration for all new added types.

I know this can be acomplished in a hackish manner using javascript (but not foolproof since javascript can be disabled), or overriding the form but I was thinking if it could, somehow, be done without that boilerplate. I'm starting to think this may actually be a feature request.

Sounds like you're trying to solve human problems with a technical solution? :wink:

Probably CSS, too

Plone Foundation Code of Conduct