nik static method

String? Function(String?) nik({
  1. String? message,
})

Validates NIK (Indonesian ID Number)

Implementation

static String? Function(String?) nik({String? message}) {
  return (String? value) {
    if (value == null || value.trim().isEmpty) {
      return null;
    }

    final cleaned = value.replaceAll(RegExp(r'[\s-]'), '');

    // NIK must be 16 digits
    if (cleaned.length != 16) {
      return message ?? _defaultMessages['nik'];
    }

    // Validate NIK format (16 digits)
    if (!RegExp(r'^[0-9]{16}$').hasMatch(cleaned)) {
      return message ?? _defaultMessages['nik'];
    }

    return null;
  };
}