def clean(self, value): value = super(NumEmpenhoField, self).clean(value) if value in EMPTY_VALUES: return u'' if len(value) == 10: # formato "9999123456" value = mask_empenho(value) if len(value) != 12: # formato "9999NE123456" raise forms.ValidationError(self.error_messages['invalid']) grupos = value.split('NE') if not grupos[0].isdigit(): raise forms.ValidationError(self.error_messages['invalid']) if not grupos[1].isdigit(): raise forms.ValidationError(self.error_messages['invalid']) return grupos[0] + 'NE' + grupos[1]
def render(self, name, value, attrs=None): if value and len(value) == 10: value = mask_empenho(value) return super(self.__class__, self).render(name, value, attrs=attrs)