validateAndReturnErrorsPromise(obj, options) {
    const validationContext = this.newContext();
    const isValid = validationContext.validate(obj, options);

    if (isValid) return Promise.resolve([]);

    // Add the `message` prop
    const errors = validationContext.validationErrors().map((errorDetail) => {
      return { ...errorDetail, message: this.messageForError(errorDetail) };
    });

    return Promise.resolve(errors);
  }
@param obj {Object} Object to validate.
@param [options] {Object} Same options object that ValidationContext#validate takes

Returns a Promise that resolves with the errors