struct Person { @notEmpty string name; @notNegative int age; } auto personA = Person("Somebody", 32); ValidationResult!Person rA = validate(personA); assert(rA.ok); assert(rA.data.name == "Somebody"); // accessing validated data auto personB = Person("", 32); ValidationResult!Person rB = validate(personB); assert(!rB.ok); auto personC = Person("Tom", -1); ValidationResult!Person rC = validate(personC); assert(!rC.ok);
Validates data according to its type’s constraints