  Guaranteeing the validity of concurrent operations on distributed objects is
a key property for ensuring reliability and consistency in distributed systems.
Usually, the methods for validating these operations, if present, are wired in
the object implementation. In this work, we formalize the notion of a {\em
validated object}, decoupling the object operations and properties from the
validation procedure. We consider two types of objects, satisfying different
levels of consistency: the validated {\em totally-ordered} object, offering a
total ordering of its operations, and its weaker variant, the validated {\em
regular} object. We provide conditions under which it is possible to implement
these objects. In particular, we show that crash-tolerant implementations of
validated regular objects are always possible in an asynchronous system with a
majority of correct processes. However, for validated totally-ordered objects,
consensus is always required if a property of the object we introduce in this
work, {\em persistent validity,} does not hold. Persistent validity combined
with another new property, {\em persistent execution}, allows consensus-free
crash-tolerant implementations of validated totally-ordered objects. We
demonstrate the utility of validated objects by considering several
applications conforming to our formalism.
