..  include:: /Includes.rst.txt
renderingOptions.honeypot.enable
--------------------------------

:aspect:`Option path`
    prototypes.<prototypeIdentifier>.formElementsDefinition.Form.renderingOptions.honeypot.enable

:aspect:`Data type`
    bool

:aspect:`Needed by`
    Frontend

:aspect:`Overwritable within form definition`
    Yes

:aspect:`form editor can write this property into the form definition (for prototype 'standard')`
    No

:aspect:`Mandatory`
    Yes

:aspect:`Default value (for prototype 'standard')`
    ..  code-block:: yaml
        :linenos:
        :emphasize-lines: 21

        Form:
          renderingOptions:
            translation:
              translationFiles:
                10: 'EXT:form/Resources/Private/Language/locallang.xlf'
            templateRootPaths:
              10: 'EXT:form/Resources/Private/Frontend/Templates/'
            partialRootPaths:
              10: 'EXT:form/Resources/Private/Frontend/Partials/'
            layoutRootPaths:
              10: 'EXT:form/Resources/Private/Frontend/Layouts/'
            addQueryString: false
            argumentsToBeExcludedFromQueryString: {  }
            additionalParams: {  }
            controllerAction: perform
            httpMethod: post
            httpEnctype: multipart/form-data
            _isCompositeFormElement: false
            _isTopLevelFormElement: true
            honeypot:
              enable: true
              formElementToUse: Honeypot
            submitButtonLabel: Submit
            skipUnknownElements: true

..  :aspect:`Good to know`
    ToDo

:aspect:`Description`
    Enable or disable the honeypot feature.

    The name of the honeypot field is stored in the signed form state that is
    rendered with the form. The honeypot therefore does not need a frontend
    session and also works on cached pages and with static file caching.
