File size: 1,093 Bytes
654787c
 
 
 
 
 
079bb3a
 
 
 
 
fbe3d46
079bb3a
 
 
 
9dab7da
079bb3a
 
 
 
 
654787c
 
 
 
 
 
 
 
 
 
079bb3a
 
 
654787c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from django import forms

from ..models import Palabra


class WordForm(forms.ModelForm):
    nombre_palabra = forms.CharField(
        min_length=3,
        max_length=255,
        error_messages={
            "required": "parametros requeridos",
            "unique": "palabra repetida",
            "min_length": "la palabra es muy corta",
            "max_length": "la palabra es muy larga",
        },
        widget=forms.TextInput(attrs={
            "class": "bg-surface-sweet border-b text-center text-black pb-1 rounded",
            "placeholder": "Ingrese palabra",
            "oninput": "this.value = this.value.toLowerCase()",
        })
    )

    class Meta:
        model = Palabra
        fields = ["nombre_palabra"]

    def clean_nombre_palabra(self):
        nombre_palabra = self.cleaned_data.get('nombre_palabra')

        if nombre_palabra:
            nombre_palabra = nombre_palabra.lower().strip()

        if Palabra.objects.filter(nombre_palabra=nombre_palabra).exists():
            raise forms.ValidationError("palabra repetida")

        return nombre_palabra