Colocando um asterisco (*) no label dos campos obrigatórios

Essa é uma dica rápida para quem precisa colocar uma marcação (geralmente um asterisco) no label dos campos obrigatórios de um formulário.
Abaixo um exemplo de como inserir um * vermelho na frente do label:

# -*- coding: utf-8 -*-
 
# Importamos o metodo mark_safe que possibilita utilizar códigos html
from django.utils.safestring import mark_safe
 
# Vamos criar um ModelForm comum cujo campo <strong>nome</strong> é obrigatório. cpf e <strong>telefone</strong> não.
class Cliente(models.Model):
    nome = models.CharField('Nome', max_length=100)
    cpf = models.CharField('CPF', max_length=17, blank=True, null=True)
    telefone = models.CharField('Telefone', max_length=14, blank=True, null=True)
 
    def __unicode__(self):
        return self.nome
 
# Agora o ModelForm
class ClienteForm(ModelForm):
    class Meta:
        model = Cliente
 
    def __init__(self, *args, **kwargs):
        for campo in self.base_fields:
            if self.base_fields[campo].required:
                self.base_fields[campo].label = mark_safe('<span style="color:red;">*</span> %s' % self.base_fields[campo].label)
        super(ClienteForm, self).__init__(*args, **kwargs)
You can leave a response, or trackback from your own site.

Leave a Reply

Powered by WordPress | Shop the Best Verizon Wireless Deals. | Thanks to Best CD Rates, Credit Cards and Credit card