diff options
-rw-r--r-- | docs/api/fields.rst | 2 | ||||
-rw-r--r-- | src/zope/configuration/fields.py | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/docs/api/fields.rst b/docs/api/fields.rst index 1a81b8d..928a632 100644 --- a/docs/api/fields.rst +++ b/docs/api/fields.rst @@ -43,7 +43,7 @@ Validation Error '3foo' Validation Error 'foo:' Validation Error '\\' - '' + Validation Error '' .. autoclass:: GlobalObject :members: diff --git a/src/zope/configuration/fields.py b/src/zope/configuration/fields.py index add0fe8..b27a236 100644 --- a/src/zope/configuration/fields.py +++ b/src/zope/configuration/fields.py @@ -35,9 +35,14 @@ from zope.configuration.interfaces import InvalidToken class PythonIdentifier(schema_PythonIdentifier): """ - This class is deprecated, prefer `zope.schema.PythonIdentifier`. + This class is like `zope.schema.PythonIdentifier`, but does not allow empty strings. """ + def _validate(self, value): + super(PythonIdentifier, self)._validate(value) + if not value: + raise ValidationError(value).with_field_and_value(self, value) + @implementer(IFromUnicode) class GlobalObject(Field): |