isReasonablyValidArabicName function
Returns true if name is non-empty, within length bounds, and contains only
allowed characters: Unicode letters (including Arabic), spaces, and common
diacritics. Use minLength/maxLength to override defaults.
Implementation
bool isReasonablyValidArabicName(
String name, {
int minLength = kDefaultArabicNameMinLength,
int maxLength = kDefaultArabicNameMaxLength,
}) {
final trimmed = name.trim();
if (trimmed.isEmpty) return false;
final length = trimmed.runes.length;
if (length < minLength || length > maxLength) return false;
for (final rune in trimmed.runes) {
if (!_isAllowedNameChar(rune)) return false;
}
return true;
}