var email: String? var bio: String? var password: String #Validation(\Self.name, presence: .required) #Validation(\Self.age, comparison: .greaterThan(16)) #Validation(\Self.email, format: /…/, presence: .required(allowsNil: true)) #Validation(\Self.bio, presence: .none) #Validation(\Self.password, presence: .required(allowsEmpty: true)) } ˣੜίʔυ SFTVMUCVJMEFS extension User: Validations.Validatable { var validation: some Validator { Presence(of: self[keyPath: \Self.name]).presence(.required) .errorKey(Self.self, \Self.name) Comparison(of: self[keyPath: \Self.age], .greaterThan(16)) .errorKey(Self.self, \Self.age) Format(of: self[keyPath: \Self.email], with: /…/).presence(.required(allowsNil: true)) .errorKey(Self.self, \Self.email) Presence(of: self[keyPath: \Self.bio]).presence(.none) .errorKey(Self.self, \Self.bio) Presence(of: self[keyPath: \Self.password]).presence(.required(allowsEmpty: true)) .errorKey(Self.self, \Self.password) } }