pub fn validate_id(id: &str, policy: IDPolicy) -> Result<(), IDValidationError>Expand description
Validate an ID string against the configured ID policy
§Arguments
id- The ID value to validatepolicy- The ID policy to enforce
§Returns
Ok(()) if the ID is valid for the policy, Err(IDValidationError) otherwise
§Errors
Returns IDValidationError if the ID does not conform to the specified policy.
For IDPolicy::UUID, the ID must be a valid UUID. For IDPolicy::OPAQUE, any string is valid.
§Examples
use fraiseql_core::validation::{IDPolicy, validate_id};
// UUID policy enforces UUID format
assert!(
validate_id("550e8400-e29b-41d4-a716-446655440000", IDPolicy::UUID).is_ok(),
"valid UUID should pass UUID policy"
);
assert!(
validate_id("not-uuid", IDPolicy::UUID).is_err(),
"non-UUID string should fail UUID policy"
);
// OPAQUE policy accepts any string
assert!(
validate_id("anything", IDPolicy::OPAQUE).is_ok(),
"OPAQUE policy should accept any string"
);
assert!(
validate_id("", IDPolicy::OPAQUE).is_ok(),
"OPAQUE policy should accept empty string"
);§Errors
Returns IDValidationError if id does not conform to policy
(e.g., not a valid UUID when IDPolicy::UUID is used).