我想要寫HTML表單形式valitation反饋,就像我怎樣才能做到在web.py
form
input type.....
input type.....
然後在PY這樣寫:
f = forms.register_form()
if not f.validates():
return render.register(f)
的問題是,如果表單未通過驗證,我如何才能將信息反饋給用戶。 有沒有像#springbind的速度?
我想要寫HTML表單形式valitation反饋,就像我怎樣才能做到在web.py
form
input type.....
input type.....
然後在PY這樣寫:
f = forms.register_form()
if not f.validates():
return render.register(f)
的問題是,如果表單未通過驗證,我如何才能將信息反饋給用戶。 有沒有像#springbind的速度?
讓我與我的一個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
上渲染任何內容,因爲用戶可以刷新頁面,重新執行相同的操作。它不會向我顯示任何錯誤消息。該怎麼辦 ?請幫助 – sumanth232
@ krishna222,我有'form.notnull'作爲一些表單字段的驗證器,'$:form.render()'實際上在標有'notnull'的字段上顯示爲「必需」。 – Helgi
請修復您問題的格式。不要爲它使用HTML,而是通過用4個空格縮進來將代碼標記爲代碼。 – ThiefMaster