def clean_telefono_celular(self):
        """ Valida el teléfono celular """
        celular = self.cleaned_data['telefono_celular']
        if celular and not checkers.is_valid(celular, 'telefono'):
            msg = u'El formato del teléfono proporcionado no es correcto.'
            raise forms.ValidationError(msg)

        return celular
    def clean_apellidos(self):
        """ Valida los apellidos """

        apellidos = self.cleaned_data['apellidos'].strip()

        if not checkers.is_valid(apellidos, 'nombres/apellidos'):
            msg = (u'Solo se permiten vocales, consonantes y espacios.')
            raise forms.ValidationError(msg)

        return apellidos
    def clean_codigo_postal(self):
        """ Valida el código postal """

        codigo_postal = self.cleaned_data['codigo_postal']

        if not checkers.is_valid(str(codigo_postal), 'codigo-postal'):
            msg = u'El formato del código postal proporcionado no es correcto.'
            raise forms.ValidationError(msg)

        return codigo_postal
    def clean_telefono_fijo(self):
        """ Valida el teléfono fijo """

        fijo = self.cleaned_data['telefono_fijo']

        if not checkers.is_valid(fijo, 'telefono'):
            msg = u'El formato del teléfono proporcionado no es correcto.'
            raise forms.ValidationError(msg)

        return fijo
    def clean_cedula(self):
        """ Valida el documento de identidad """

        cedula = self.cleaned_data['cedula']

        if not checkers.is_valid(cedula, 'documento-identidad'):
            msg = (u'El formato del documento de identidad proporcionado no es'
                   u' correcto.')
            raise forms.ValidationError(msg)

        return cedula
    def clean_pagina_web(self):
        """ Valida la pagina web"""
        pagina_web = self.cleaned_data['pagina_web']

        if checkers.is_valid(pagina_web, 'web'):
            new_pagina_web = pagina_web
        else:
            msg = u'El formato de la url debe ser: http://www.example.com.'
            raise forms.ValidationError(msg)

        return new_pagina_web
    def clean_rif(self):
        """ Valida el RIF y verifica que éste sea único """

        pst = models.Pst.objects.filter(rif=self.cleaned_data['rif'])

        if not checkers.is_valid(self.cleaned_data['rif'], 'rif'):
            msg = u'El formato del RIF proporcionado no es correcto.'
            raise forms.ValidationError(msg)

        if pst and pst[0].rif != self.initial.get('rif'):
            msg = u'Este RIF ya está en uso, por favor ingrese uno diferente'
            raise forms.ValidationError(msg)

        return self.cleaned_data['rif']
    def clean_cargo_empresa(self):
        """ Validar que el cargo en la empresa cumpla con el patrón.

        Valida que el cargo en la empresa esté compuesto solo por caracteres
        alfabéticos.
        """

        cargo_empresa = self.cleaned_data['cargo_empresa'].strip()

        if not checkers.is_valid(cargo_empresa, 'nombres/apellidos'):
            raise forms.ValidationError(
                u"El cargo en la empresa debe estar formado solo por"
                u" caracteres alfabéticos.")

        return cargo_empresa