error_messages – Validación de campo de formulario de Django

Las validaciones de campo de formulario incorporadas en Django Forms son las validaciones predeterminadas que vienen predefinidas para todos los campos. Cada campo viene con algunas validaciones integradas de los validadores de Django . Cada constructor de clase Field toma algunos argumentos fijos.

El error_messagesargumento le permite especificar mensajes de error manuales para los atributos del campo. El argumento error_messages le permite anular los mensajes predeterminados que generará el campo. Pase un diccionario con claves que coincidan con los mensajes de error que desea anular. Por ejemplo, este es el mensaje de error predeterminado:

>>> from django import forms
>>> generic = forms.CharField()
>>> generic.clean('')
Traceback (most recent call last):
  ...
ValidationError: ['This field is required.']

Y aquí hay un mensaje de error personalizado:

>>> name = forms.CharField(
                error_messages={
               'required': 'Please enter your name'
                })
>>> name.clean('')
Traceback (most recent call last):
  ...
ValidationError: ['Please enter your name']

Sintaxis

field_name = models.Field(option = value)

error_messagesExplicación de validación de campo de formulario de Django

Ilustración de mensajes de error usando un ejemplo. Considere un proyecto llamado geeksforgeeksque tiene una aplicación llamada geeks.

Consulte los siguientes artículos para comprobar cómo crear un proyecto y una aplicación en Django.

Ingrese el siguiente código en forms.pyel archivo de la aplicación geeks . Usaremos CharField para experimentar con todas las opciones de campo.

from django import forms
  
class GeeksForm(forms.Form):
    geeks_field = forms.CharField(
                  error_messages = {
                 'required':"Please Enter your Name"
                 })

Agregue la aplicación geeks aINSTALLED_APPS

# Application definition
  
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'geeks',
]

Ahora, para convertir este formulario en una vista, necesitamos una vista y una URL asignada a esa vista. Vamos a crear una vista primero en views.pyla aplicación geeks,

from django.shortcuts import render
from .forms import GeeksForm
  
# Create your views here.
def home_view(request):
    context = {}
    form = GeeksForm(request.POST or None)
    context['form'] = form
    if request.POST:
        if form.is_valid():
            temp = form.cleaned_data.get("geeks_field")
            print(temp)
    return render(request, "home.html", context)

Aquí estamos importando ese formulario en particular de forms.py y creando un objeto en la vista para que se pueda representar en una plantilla.
Ahora, para iniciar un formulario de Django, debe crear home.html, donde uno estaría diseñando las cosas a su gusto. Vamos a crear un formulario en home.html.

<form method = "POST">
    {% csrf_token %}
    {{ form }}
    <input type = "submit" value = "Submit">
</form>

Finalmente, una URL para mapear a esta vista en urls.py

from django.urls import path
  
# importing views from views..py
from .views import home_view
  
URLpatterns = [
    path('', home_view ),
]

Ejecutemos el servidor y verifiquemos qué sucedió realmente, Ejecutar

Python manage.py runserver

error_messages - Django Form Field Validation

Ahora intentemos enviarlo vacío y verifiquemos si error_messagese ha anulado el requisito.

error_messages-Django-Form-Field-Validation

Por lo tanto, el campo muestra un mensaje de error personalizado para el requiredatributo de Charfield.

Más validaciones de formulario integradas

Opciones de campo Descripción
requerido De forma predeterminada, cada clase de campo asume que el valor es obligatorio, por lo que para que no sea obligatorio, debe establecerrequired=False
etiqueta El argumento de la etiqueta le permite especificar la etiqueta «apto para humanos» para este campo. Esto se usa cuando el campo se muestra en un formulario.
sufijo_etiqueta El argumento label_suffix le permite anular el label_suffix del formulario por campo.
artilugio El argumento del widget le permite especificar una clase de widget para usar al representar este campo. Consulte Widgets para obtener más información.
texto de ayuda El argumento help_text le permite especificar texto descriptivo para este campo. Si proporciona texto de ayuda, se mostrará junto al campo cuando uno de los métodos de formulario de conveniencia represente el campo.
error de mensajes El argumento error_messages le permite anular los mensajes predeterminados que generará el campo. Pase un diccionario con claves que coincidan con los mensajes de error que desea anular.
validadores El argumento de los validadores le permite proporcionar una lista de funciones de validación para este campo.
localizar El argumento localizar permite la localización de la entrada de datos del formulario, así como la salida representada.
discapacitado _ El argumento booleano disabled, cuando se establece en True, desactiva un campo de formulario utilizando el atributo HTML disabled para que los usuarios no puedan editarlo.

Publicación traducida automáticamente

Artículo escrito por NaveenArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *