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() 方法。
添加回答
举报
0/150
提交
取消