isValidModel static method
Implementation
static bool isValidModel(BuildContext context, dynamic model,
{String? message, Function? validator}) {
bool valid = true;
var modelMembers = Dynamic(model).modelMembers;
// Annotation validations
for (var item in Libs.modelValidationFunctions.entries) {
if (modelMembers[item.key] != null) {
var ret = item.value.call();
if (ret != null) {
valid = ret;
if (!valid) Libs.modelValidationData[item.key]!.isValid = false;
}
}
}
if (!valid) {
rf.msg(
context,
message ??
'Data save was unsuccessful due to missing mandatory fields!');
return valid;
}
// Global config validations
for (var element in Libs.config.model.validators!) {
valid = element(context);
var methodName = Dynamic.methodName(element);
if (!valid) {
return valid;
}
}
// Local config validations
if (validator != null) {
String msg = validator.call() ?? '';
if (msg.isNotEmpty) {
rf.msg(context, msg ?? 'Data save was unsuccessful due some error!');
return false;
}
}
return valid;
}