WTForms自定义字段为美元值

时间:2014-01-02 04:10:49

标签: wtforms flask-wtforms

我是WTForms的新手。我想创建一个名为DollarField的新类型字段,它允许使用“$”和逗号。然后我会将它们剥离并保存值。

我做了这个删除“$”并删除逗号,但现在所有适用于DecimalField的正常验证(例如,如果用户键入“asda”时捕获案例)都不起作用。

class DollarField(DecimalField):
    def process_formdata(self, valuelist):
        if len(valuelist) == 1:
            self.data = [valuelist[0].strip('$').replace(',', '')]
        else:
            self.data = []

1 个答案:

答案 0 :(得分:1)

您的问题是,因为您覆盖process_formdata,您将使用自己的代码替换默认处理代码(尝试将字符串转换为小数,因此如果不能,则会引发错误)。您需要确保process_formdata的实现手动调用父{q}方法,以便其逻辑也运行,如此...

process_formdata
相关问题