validate method

String? validate()

The first thing wrong with the job, or null (the engine's rules).

Implementation

String? validate() {
  if (version != currentVersion) return 'label version $version not supported (want $currentVersion)';
  if (widthMm < 5 || widthMm > 1000 || heightMm < 5 || heightMm > 1000) {
    return 'label paper ${widthMm}x$heightMm mm out of range';
  }
  final els = elements;
  if (els.length > maxElements) return 'label has ${els.length} elements (max $maxElements)';
  for (var i = 0; i < els.length; i++) {
    final t = els[i]['type'];
    if (!_types.contains(t)) return 'label element $i has unknown type "$t"';
    if (((els[i]['w'] as num?) ?? 0) < 0 || ((els[i]['h'] as num?) ?? 0) < 0) {
      return 'label element $i has a negative size';
    }
  }
  return null;
}