Respect plone.api the definitions of field attributes in the schema of contenttype?

# my example schema for a contentype
class IEntry(model.Schema):
    providername = schema.TextLine(
        title="Name",
        required=True)

# in a test
entry = api.content.create(
    type="Entry",
    title="Entry",
    description="This is a description",
    container=portal
)

> pp entry.providername
> None

I thought this was going to fail, because the property "providername" is not set, but the object is created. Is this the default behavior of api.content.create?

plone.api works on a low level using invokeFactory and so does not validate the fields. I think this is by intend.

If you need validation, have a look at the plone.restapi deserializers. There validation happens.

Overall schema handling:

and actual validation per field:

Good to know. Thanks.

Plone Foundation Code of Conduct