forms.py
908 Bytes
from django.utils.translation import ugettext_lazy as _
from django import forms
from .models import Book
class BookForm(forms.ModelForm):
title = forms.CharField(
label=_('Titulo'),
max_length=250,
required=False,
widget=forms.TextInput(
attrs={'class': 'form-control', 'placeholder': _('Titulo')}
)
)
class Meta:
model = Book
fields = ('title',)
def clean_title(self):
"""
Validación de titulo.
:return:
"""
title = self.cleaned_data.get('title', None)
if not title:
raise forms.ValidationError(_('Este campo es obligatorio.'))
if title[0].islower():
raise forms.ValidationError(_('El título debe empezar por una mayúscula.'))
return title
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)