我想以ploneformgen 1.7创建的形式使用正则表达式。我用的是plone 4.1。在文本字段的自定义验证中。
如何使用正则表达式?
我尝试了以下几种方法:
python: import re; test(value==re.search(r'[123]'), False, 'Needs to be number 1 or 2 or 3')但它给了我错误,因此无法验证。我希望值应该是1、2或3。
python: test(value=='1' or value=='2' or value=='3', False, 'Needs to be number 1 or 2 or 3')但是我想使用正则表达式。请指点一下。
发布于 2013-02-06 00:20:56
您可以在通过web脚本、TALES " Python :“表达式、PFG覆盖和PFG脚本适配器中使用的包和类型集仅限于在受限Python中可用的包和类型。受限Python故意在提供哪些模块和类型方面非常保守。
您可以通过在您的鸡蛋列表中包含的Python包中显式地声明"allow“来扩展该列表。这样的包的一个示例是available in the github collective,它包含几个我发现在PloneFormGen中特别有用的模块和类型,包括re。
您仍然不能在TALES表达式中“导入re”,但可以在TTW脚本中使用re,该脚本可以用作PFG验证器。
发布于 2013-02-05 14:03:30
根据http://docs.zope.org/zope2/zope2book/ScriptingZope.html,您不能在故事中使用正则表达式,因为受限的Python禁止使用正则表达式。
发布于 2013-02-05 13:59:43
实际上,search方法需要两个参数。
您应该这样使用:import re; test(re.search(r'[123]', value), False, 'Needs to be number 1 or 2 or 3')
https://stackoverflow.com/questions/14700955
复制相似问题