nisn static method

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

Validates NISN (National Student ID Number)

Implementation

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

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

    // NISN must be 10 digits
    if (cleaned.length != 10) {
      return message ?? _defaultMessages['nisn'];
    }

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

    return null;
  };
}