2009-06-28 88 views
0

如果在表單編碼中發生異常,那麼返回類型是什麼?formencode無效返回類型

假設

if(request.POST): 
     formvalidate = ValidationRule() 
     try: 
      new = formvalidate.to_python(request.POST) 
      data = Users1(n_date = new['n_date'], heading = new['heading'], 
          desc = new['desc'], link = new['link'], 
          module_name = new['module_name']) 
      session.add(data) 
      session.commit() 
     except formencode.Invalid, e: 
      errors = e 

,我們如何才能找到現場方法錯誤

+0

它不是一個Python語言的問題,而是涉及到一些web框架,所以你會告訴它是哪一個? – 2009-06-28 04:25:53

+0

對不起,我使用Django的python框架 – 2009-06-28 04:54:35

回答

3

我假設你正在使用formencode(http://formencode.org

可以使用unpack_errors每場誤差得到如

import formencode 
from formencode import validators 

class UserForm(formencode.Schema): 
    first_name = validators.String(not_empty=True) 
    last_name = validators.String(not_empty=True) 

form = UserForm() 
try: 
    form.to_python({}) 
except formencode.Invalid,e: 
    print e.unpack_errors() 

它將打印每場錯誤的字典。

可以使用formencode.htmlfill.render渲染所有的錯誤,以不同的方式,閱讀 http://formencode.org/htmlfill.html#errors