Hello all,

This has been driving me crazy for hours. I have a simple form:

class UserEditForm( TableForm ):
    show_errors = True

    class fields( WidgetsList ):
        current_password = PasswordField( validator = VerifyPassword() )
        display_name = TextField()
        email_address = TextField( validator = Email() )
        new_password = PasswordField()
        verify_password = PasswordField()

user_edit_form = UserEditForm( "user_edit_form", action = "post_user_edit" )

And a simple validator:

class UserEditValid( Schema ):
    allow_extra_fields = True

    current_password = VerifyPassword()
    email_address = Email()

user_edit_valid = UserEditValid()

In my controller methods if I do:

    @expose( 'rexpal.templates.user_edit' )
    def user_edit( self, **kw ):
        """Handle the  page."""
        user = request.environ.get( 'repoze.who.identity' )["user"]
        tmpl_context.form = user_edit_form
        data = dict( display_name = user.display_name,
                    email_address = user.email_address )
        data.update( kw )
        #data["errors"] = tmpl_context.form_errors
        print data
        return dict( data = data, page = 'user_edit' )

    @expose()
    @validate( user_edit_form, error_handler = user_edit )
    def post_user_edit( self, **kw ):
        """ Validate with form """
        flash( _( "User changed Successfully" ), "info" )
        redirect( "/user_edit" )

My validation works fine,  but if I change (using the schema validation):

    @expose()
    @validate( validators = user_edit_valid, error_handler = user_edit )
    def post_user_edit( self, **kw ):
        """ Validate with Schema """
        flash( _( "User changed Successfully" ), "info" )
        redirect( "/user_edit" )

It validates correctly putting errors in tmpl_context.form_errors but the
error messages do not display. What am I doing wrong???

Thanks in advance,

Shawn


Using virtualenv:
(tg2)schurch@schurch-desktop:~/Projects/tg2/lib/python2.6/site-packages$ ls
AddOns-0.6-py2.6.egg
Babel-0.9.6-py2.6.egg
Beaker-1.3-py2.6.egg
BytecodeAssembler-0.3-py2.6.egg
Catwalk-2.0.2-py2.6.egg
decorator-3.0.0-py2.6.egg
DecoratorTools-1.7-py2.6.egg
easy-install.pth
Extremes-1.1.1-py2.6.egg
FormEncode-1.2.1-py2.6.egg
FormEncode-1.2.3dev-py2.6.egg
Genshi-0.5.1-py2.6-linux-i686.egg
Mako-0.2.4-py2.6.egg
nose-0.10.4-py2.6.egg
Paste-1.7.2-py2.6.egg
PasteDeploy-1.3.3-py2.6.egg
PasteScript-1.7.3-py2.6.egg
PEAK_Rules-0.5a1.dev_r2582-py2.6.egg
pip-0.8.3-py2.6.egg
prioritized_methods-0.2.1-py2.6.egg
Pygments-1.0-py2.6.egg
Pylons-0.9.7-py2.6.egg
repoze.tm2-1.0a4-py2.6.egg
repoze.what-1.0.8-py2.6.egg
repoze.what.plugins.sql-1.0rc1-py2.6.egg
repoze.what_pylons-1.0rc3-py2.6.egg
repoze.what_quickstart-1.0-py2.6.egg
repoze.who-1.0.15-py2.6.egg
repoze.who_friendlyform-1.0b3-py2.6.egg
repoze.who.plugins.sa-1.0rc1-py2.6.egg
repoze.who_testutil-1.0rc1-py2.6.egg
RexPal.egg-link
Routes-1.10.3-py2.6.egg
setuptools-0.6c11-py2.6.egg
setuptools.pth
simplejson-2.0.8-py2.6-linux-i686.egg
sprox-0.6.10-py2.6.egg
SQLAlchemy-0.5.1-py2.6.egg
sqlalchemy_migrate-0.5.2-py2.6.egg
SymbolType-1.0-py2.6.egg
Tempita-0.2-py2.6.egg
tg.devtools-2.0.2-py2.6.egg
tgext.admin-0.3.10-py2.6.egg
tgext.crud-0.3.9-py2.6.egg
ToscaWidgets-0.9.11-py2.6.egg
ToscaWidgets-0.9.4-py2.6.egg
transaction-1.0a1-py2.6.egg
TurboGears2-2.0.3-py2.6.egg
TurboJson-1.2.1-py2.6.egg
tw.dojo-0.9.9-py2.6.egg
tw.forms-0.9.9-py2.6.egg
tw.jquery-0.9.9-py2.6.egg
WebError-0.10.1-py2.6.egg
WebFlash-0.1a9-py2.6.egg
WebHelpers-0.6.4-py2.6.egg
WebOb-0.9.6.1-py2.6.egg
WebTest-1.1-py2.6.egg
zope.interface-3.4.1-py2.6-linux-i686.egg
zope.sqlalchemy-0.6.1-py2.6.egg

-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en.

Reply via email to