【发布时间】:2014-02-04 10:15:03
【问题描述】:
正如标题所说,如何从 web2py 的输入字段中修剪前导和尾随空格?我已经尝试了 CLEANUP() 验证器,它可以工作,但不幸的是它会删除我不想删除的其他特殊字符(例如,¥)。
还有什么字符被剥离?我不清楚。
【问题讨论】:
标签: web2py trim removing-whitespace
正如标题所说,如何从 web2py 的输入字段中修剪前导和尾随空格?我已经尝试了 CLEANUP() 验证器,它可以工作,但不幸的是它会删除我不想删除的其他特殊字符(例如,¥)。
还有什么字符被剥离?我不清楚。
【问题讨论】:
标签: web2py trim removing-whitespace
CLEANUP 采用regex 参数,默认为'[^\x09\x0a\x0d\x20-\x7e]'。它首先去除前导和尾随空格,然后删除与正则表达式匹配的任何字符。由于您只需要删除空格,因此您可以提供一个空的正则表达式:
Field('myfield', requires=CLEANUP(''))
您也可以使用自定义验证器实现同样的效果:
Field('myfield', requires=lambda v: (str(v).strip(), None))
【讨论】:
f 参数代表什么?
None .您可以使用带有__call__ 方法的类(这是所有内置验证器的工作方式)或仅使用函数或 lambda 来制作自定义验证器。传入字段对象的原因是验证器可以使用任何相关的字段属性。