pt_validators

Validadores portugueses para NIF e Cartão de Cidadão (CC).

Features

  • Validação de NIF com verificação de tipo e dígito de controlo
  • Validação de CC com algoritmo de Luhn alfanumérico
  • Mensagens de erro descritivas em português
  • Pronto para usar como validator em TextFormField do Flutter

Getting started

Adiciona ao teu pubspec.yaml:

dependencies:
  pt_validators: ^0.0.1

Depois corre dart pub get (ou flutter pub get).

Usage

Via fachada unificada PTValidators

import 'package:pt_validators/pt_validators.dart';

// Validar NIF
final nifError = PTValidators.validateNIF('545259045');
if (nifError == null) {
  print('NIF válido');
} else {
  print('Erro: $nifError');
}

// Verificar booleano
if (PTValidators.isValidNIF('123456789')) {
  print('NIF OK');
}

// Validar CC
final ccError = PTValidators.validateCC('000000000ZZ4');
if (ccError == null) {
  print('CC válido');
}

Em TextFormField do Flutter

TextFormField(
  decoration: const InputDecoration(labelText: 'NIF'),
  validator: PTValidators.validateNIF,
)

TextFormField(
  decoration: const InputDecoration(labelText: 'Cartão de Cidadão'),
  validator: PTValidators.validateCC,
)

Usando os validadores directamente

import 'package:pt_validators/pt_validators.dart';

// NIF
print(NIFValidator.validate('545259045')); // null (válido)
print(NIFValidator.validate('123456780')); // 'NIF inválido'
print(NIFValidator.isValid('123456789'));  // true

// CC
print(CCValidator.validate('000000000ZZ4')); // null (válido)
print(CCValidator.isValid('123456780ZZ0'));  // true

Additional information

  • Repositório: github.com/efrahim20319/pt_validators
  • Para reportar issues ou sugerir melhorias, abre um ticket no repositório GitHub.
  • Contribuições são bem-vindas via pull request.

Libraries

pt_validators
Validadores portugueses para NIF e Cartão de Cidadão.