2011-02-23 15 views
11

Estoy usando Django 1.2.4. Tengo un modelo que tiene un campo que necesita ser validado. Cuando la validación falla, me gustaría mostrar un mensaje de error personalizado para el usuario. La edición del modelo se realiza en la interfaz de administración.Django: muestra un mensaje de error personalizado para el error de validación del administrador

Esto es lo que estoy haciendo actualmente:

def clean_fields(self, exclude=None): 
    # do validation 
    if problem: 
     raise ValidationError({'field_name': "error message"}) 

Por desgracia, todo esto hace es imprimir un mensaje de validación independiente en la página de administración para cada carácter en el valor de field_name.

¿Cuál es la forma correcta de señalar el mensaje de error que quiero?

Respuesta

14

Sin mirar, parece que el administrador está buscando un valor iterable como field_name. Pruebe:

raise ValidationError({'field_name': ["error message",]}) 

Creo que el administrador espera que se asocie cualquier número de mensajes de validación con cada campo de un formulario.

Cuestiones relacionadas