Hmm, parece que no hay una solución fácil para el problema.
Wile hojear el código de Django, he encontrado que los mensajes de error por defecto son en forma fija en cada clase de campo de formulario, por ejemplo:
class CharField(Field):
default_error_messages = {
'max_length': _(u'Ensure this value has at most %(max)d characters (it has %(length)d).'),
'min_length': _(u'Ensure this value has at least %(min)d characters (it has %(length)d).'),
}
Y la forma más sencilla es utilizar el argumento error_messages
, así que tuve que escribir la función de contenedor:
def DZForm(name, args = {}):
error_messages = {
'required': u'required',
'invalid': u'invalid',
}
if 'error_messages' in args.keys():
args['error_messages'] = error_messages.update(args['error_messages'])
else:
args['error_messages'] = error_messages
return getattr(forms, name)(**args)
Si SMDB sabe elegentPackage forma más de hacer esto sería realmente appreaciate a verlo :)
¡Gracias!
Sí. Pero quiero anular el valor predeterminado con la flexibilidad para establecer un formato específico ... En su caso, tendré que fusionar el valor predeterminado y formar los mensajes de error dictados manualmente cada vez – Brock
@Brock Eso no es tan malo. Simplemente puede escribir 'my_default_errors.update ({...})' para colocar en el campo o formar valores específicos. –