在请求中验证用户输入是否合法是个比较麻烦的事情,
但其实web.form
已经为我们提供了这方便的函数可以直接调用.
我们仅仅需要定义出一个form和每个字段的验证规则,
其他的事情web.form
就自动替我们完成了.
下面是个十分简单的例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import web
from web import form
urls = (
'/', 'hello',
)
app = web.application(urls, globals())
#定义字段验证规则
vpass = form.regexp(r".{3,20}$", 'must be between 3 and 20 characters')
#定义form表格内容
t_form = form.Form(
form.Textbox('u',vpass,description='username'),
form.Textbox('p',vpass,description='password')
)
class hello:
def GET(self):
"""GET方法返回一个Form表格"""
return """<html>
<body>
<form action="/" method="post">
<p>user name: <input type="text" name="u" /></p>
<p>password : <input type="password" name="p" /></p>
<input type="submit" value="Submit" />
</form>
</body>
</html>
"""
def POST(self):
#生成一个form实例
f = t_form()
#返回form验证是否通过
return f.validates()
if __name__ == "__main__":
app.run()
|
更多form
用法可以参考文档