为了账号安全,请及时绑定邮箱和手机立即绑定

wtform 的 DateField 怎么显示中文提示

wtform 的 DateField 怎么显示中文提示

月关宝盒 2018-08-18 16:26:13
class RegisterForm(Form):     name = simple.StringField(            label='用户名',            validators=[                 validators.DataRequired(message='用户名不能为空')             ],             widget=widgets.TextInput(),             render_kw={'class': 'form-control'},     )     birthday = core.DateField(label='出生日期', format='%Y-%m-%d')请教:渲染后页面后假如birthday填写的不是时间格式的话,提示的是“Not a valid date value”这个怎么改成自定制中文的呢??
查看完整描述

1 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

若要完全改写错误信息,可继承 DateField 并重写 process_formdate() 方法,如

# -*- coding: utf-8 -*-from wtforms import Form, DateFieldfrom webob.multidict import MultiDictclass DemoDateField(DateField):
    def process_formdata(self, valuelist):
        try:
            DateField.process_formdata(self, valuelist)        except ValueError:            raise ValueError(u'自定义错误信息')class DemoForm(Form):
    day = DemoDateField('day')


form = DemoForm()
form.process(MultiDict(dict(day='abc')))assert form.day.process_errors == [u'自定义错误信息']

若只是翻译英文错误信息,应修改 locale 设置,或继承 DateField 并重写 gettext() 方法。


查看完整回答
反对 回复 2018-08-19
  • 1 回答
  • 0 关注
  • 1373 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信