call method
Implementation
String? call(value) {
if (none) return null;
final _mustNumber = mustNumber || minValue != null || maxValue != null || mustInt;
if (value == null || value == 'null') {
if (req || noGap || phoneNumber || firebaseSafe || mustNumber || mustInt || minLength != null || maxLength != null || minValue != null || maxValue != null) {
return 'required'.translate;
}
}
if (value is String) {
if (req && value.trim().isEmpty) {
return 'required'.translate;
}
if (noGap && value.contains(' ')) {
return 'noGap'.translate;
}
if (firebaseSafe) {
if (value.contains('.') || value.contains('\$') || value.contains('[') || value.contains(']') || value.contains('#') || value.contains('/') || value.contains('%') || value.contains('\\') || value.contains('-')) {
return 'firebaseSafe'.translate;
}
}
if (_mustNumber) {
if (value.isNotEmpty && num.tryParse(value) == null) {
return 'mustNumber'.translate;
}
if (mustInt && value.isNotEmpty && int.tryParse(value) == null) {
return 'mustIntNumber'.translate;
}
}
if (phoneNumber) {
for (var i = 0; i < value.length; i++) {
if (!'+1234567890'.contains(value[i])) {
return 'mustPhoneNumber'.translate;
}
}
}
if (mailAddress && GetUtils.isEmail(value) == false) {
return 'mustEmailAddress'.translate;
}
//todo argtranslate
if (minLength != null && value.trim().length < minLength!) {
return 'minLength'.argTranslate(minLength.toString());
}
//todo argtranslate
if (maxLength != null && value.trim().length > maxLength!) {
return 'maxLength'.argTranslate(maxLength.toString());
}
if (value.isNotEmpty && num.tryParse(value) != null) {
if (maxValue != null) {
if (num.parse(value) > maxValue!) {
return 'maxNumberErr'.argTranslate(maxValue.toString());
}
}
if (minValue != null) {
if (num.parse(value) < minValue!) {
return 'minNumberErr'.argTranslate(minValue.toString());
}
}
}
}
if (value is num) {
if (maxValue != null) {
if (value > maxValue!) {
return 'maxNumberErr'.argTranslate(maxValue.toString());
}
}
if (minValue != null) {
if (value < minValue!) {
return 'minNumberErr'.argTranslate(minValue.toString());
}
}
}
if (value is List) {
if (req) {
if (value.isEmpty) {
return 'required'.translate;
}
}
if (minLength != null) {
if (value.length < minLength!) {
return 'minLengthList'.argTranslate(minLength.toString());
}
}
if (maxLength != null) {
if (value.length > maxLength!) {
return 'maxLengthList'.argTranslate(maxLength.toString());
}
}
}
return null;
}