In a db.py:

db.define_table('vendedor',
                Field('auth_user_id', unique=True, default =
auth.user.id),
                Field('direccion'),
                Field('provincia'),
                Field('coordenadas_gps'),
                Field('email', requires=IS_EMPTY_OR(IS_EMAIL()),
default = auth.user.email),
                Field('telefono', 'integer'),
                Field('profesional', 'boolean', default=True))


In the admin app, raises an error when 'auth_user_id'  values is in
database, but not in controller, allowing repeated values in
'auth_user_id':



default.py


def registrovendedor():

form = SQLFORM(db.vendedor)

    if form.accepts(request.vars, session):
        response.flash = T('Registo válido')
    elif form.errors:
        response.flash = T('Atención: Errores en los datos del
formulario')
    else:
        response.flash = T('Por favor, rellene el formulario de
registro')

    return dict(form=form)


what's wrong? It's necessary to validate in all levels (DAL, Form and
Database)? If you validate at low level (I think in database level),
why you must to validate at form level?

Thanks

Reply via email to