Build a validation engine. Schema: { field: [{ rule: 'required'|'min'|'email', value? }] }.
Return errors object: { field: [errorMessages] } (or empty).
Rules:
required: string must be non-empty.min: string length >= value.email: must contain '@'.solve(schema, values) returns the errors object.
Sample tests