我想在html中写表格,比如
form
input type.....
input type.....
然后在py:
中写下这个f = forms.register_form()
if not f.validates():
return render.register(f)
问题是,如果表单未通过验证,我该如何将信息反馈给用户。 在速度方面有#springbind吗?
答案 0 :(得分:0)
让我回答一下我的web.py项目的片段:
bookeditform = form.Form(
form.Textbox('title', form.notnull),
form.Textbox('author', form.notnull),
form.Textbox('year',
form.Validator('Must be a number', lambda x: not x or int(x) > 0)),
)
# ...
class NewBookHandler:
def GET(self):
f = bookeditform()
return render.bookedit(f, "New book")
def POST(self):
f = bookeditform()
if f.validates():
newid = db.insert('book', title=f.d.title,
author=f.d.author, year=f.d.year)
raise web.seeother('/book/%s' % newid)
else:
return render.bookedit(f, "New book")
回顾:
GET
上,只需呈现空表单。POST
上,加载表单,然后检查其是否有效。
POST
上呈现任何内容,因为用户可以刷新页面,重新执行相同的操作。