pub struct ValidationResult {
pub success: bool,
pub errors: Vec<String>,
pub typed_errors: Vec<ValidationError>,
}Expand description
Result of validating an AppDataDoc against its schema.
Contains both human-readable error strings (for logging / display) and
typed ValidationError values (for programmatic inspection). An empty
typed_errors list means the document is valid.
Obtain an instance via validate_app_data_doc or
MetadataApi::validate_app_data_doc.
§Example
use cow_app_data::{AppDataDoc, validate_app_data_doc};
let result = validate_app_data_doc(&AppDataDoc::new("OK"));
assert!(result.is_valid());
assert!(!result.has_errors());
assert_eq!(result.error_count(), 0);Fields§
§success: boolWhether the document is valid (no errors found).
errors: Vec<String>Human-readable validation errors (empty when success is true).
Kept as Vec<String> for backwards compatibility with callers that
only inspect the string messages; typed errors are in Self::typed_errors.
typed_errors: Vec<ValidationError>Structured, typed constraint violations (empty when success is true).
Implementations§
Source§impl ValidationResult
impl ValidationResult
Sourcepub const fn new(success: bool, errors: Vec<String>) -> Self
pub const fn new(success: bool, errors: Vec<String>) -> Self
Construct a ValidationResult from a success flag and
human-readable error list.
The typed_errors field is initialised to an empty Vec. Callers
typically use validate_app_data_doc instead, which populates
both the string errors and typed errors automatically.
§Parameters
success— whether the document is valid.errors— human-readable error messages.
§Returns
A new ValidationResult with an empty typed_errors list.
Sourcepub const fn is_valid(&self) -> bool
pub const fn is_valid(&self) -> bool
Returns true when validation succeeded (no errors).
Equivalent to checking typed_errors.is_empty(), but stored as a
precomputed flag for convenience.
Sourcepub const fn has_errors(&self) -> bool
pub const fn has_errors(&self) -> bool
Returns true when at least one constraint violation was found.
The inverse of is_valid.
Sourcepub const fn error_count(&self) -> usize
pub const fn error_count(&self) -> usize
Returns the number of typed constraint violations.
§Returns
0 when the document is valid, > 0 otherwise.
Sourcepub fn errors_ref(&self) -> &[ValidationError]
pub fn errors_ref(&self) -> &[ValidationError]
Returns a slice of all typed constraint violations.
Use this for programmatic inspection of validation errors. Each
ValidationError variant carries enough context to build a
diagnostic message.
§Returns
An empty slice when the document is valid.
Sourcepub fn first_error(&self) -> Option<&ValidationError>
pub fn first_error(&self) -> Option<&ValidationError>
Returns the first typed constraint violation, if any.
Useful for quick “fail on first error” workflows.
§Returns
None when the document is valid, Some(&error) otherwise.
Trait Implementations§
Source§impl Clone for ValidationResult
impl Clone for ValidationResult
Source§fn clone(&self) -> ValidationResult
fn clone(&self) -> ValidationResult
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ValidationResult
impl Debug for ValidationResult
Auto Trait Implementations§
impl Freeze for ValidationResult
impl RefUnwindSafe for ValidationResult
impl Send for ValidationResult
impl Sync for ValidationResult
impl Unpin for ValidationResult
impl UnsafeUnpin for ValidationResult
impl UnwindSafe for ValidationResult
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.