Python 验证网页表单数据

2 投票
2 回答
620 浏览
提问于 2025-04-17 00:16

我可以提取表单字段的数据,但我无法检查或验证这些信息,看看字段是否为空。

我是在使用Apache+mod_wsgi,浏览器是Firefox,编程语言是Python 2.6,操作系统是Ubuntu 10.04 64位。

下面是我读取网页表单字段数据的示例代码。在这里,我需要检查这个字段是否为空。如果为空,就给这个特定字段一个默认的错误提示,然后让用户返回去填写数据。在这之前,“保存”(或“打印并保存”)按钮是不会显示的。

state = form.getvalue('state')
nameDistrict = form.getvalue('district')
dist_code = form.getvalue('Dcode')

html += 'State :' + str(state)
html += 'District Name :' + str(nameDistrict)
html += 'District Code :' + str(dist_code)

这是我尝试的一个方法,结果是没成功。 :(

 def val(dict, key, default_str):
     value = dict.get(key, default_str)
     if value == '':
         return default_str
     else:
         return value

第二次尝试

if state == ' ' :
       return 'Please Enter the State Name'
else :
       return state

另一个尝试是

try:
    state = form.getvalue('state')
except ValueError:
    'Please Enter the state Name'

依然没有成功。

请给我一些例子,教我怎么检查字段是否为空。

谢谢

2 个回答

0

这个问题也在mod_wsgi的讨论组里被提过,并且那里也给出了答案。

http://groups.google.com/group/modwsgi/browse_thread/thread/97e1ab3bde4230a1#

1

这是我正在使用的代码部分。

     class Handler:<br>
          def do(self, environ, start_response):<br>
          html = """
          <html><head><title>C Informatics</title>
          <meta charset=utf-8>
          <form method="post" action="newreg.py"><br>
          <table border=1><br>
          <tr><td>State:-<input type="text" name="state" size=15 max length=15><br>
          City/District:<input type="text" name="district">Code:<input type="text" > 
          name="Dcode" max length=10 size=10>
             . . . . . . . . .
     <input type="submit" Value="Save">
     <input type="submit" value="Print & Save"></center>
     </form>

撰写回答