pub struct SlugValidator { /* private fields */ }Expand description
Validates that a string value is a valid URL slug.
A valid slug:
- Contains only lowercase ASCII letters (
a-z), digits (0-9), hyphens (-), and underscores (_) - Is non-empty
- Does not start or end with a hyphen
§Examples
use reinhardt_forms::validators::SlugValidator;
let validator = SlugValidator::new();
assert!(validator.validate("my-article").is_ok());
assert!(validator.validate("page_1").is_ok());
assert!(validator.validate("-invalid").is_err());
assert!(validator.validate("has space").is_err());
assert!(validator.validate("").is_err());Implementations§
Source§impl SlugValidator
impl SlugValidator
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new SlugValidator with default settings.
§Examples
use reinhardt_forms::validators::SlugValidator;
let validator = SlugValidator::new();
assert!(validator.validate("valid-slug").is_ok());Sourcepub fn with_message(self, message: impl Into<String>) -> Self
pub fn with_message(self, message: impl Into<String>) -> Self
Sets a custom error message returned on validation failure.
§Examples
use reinhardt_forms::validators::SlugValidator;
let validator = SlugValidator::new().with_message("Only lowercase letters, numbers, hyphens, and underscores are allowed");
assert!(validator.validate("Bad Slug!").is_err());Sourcepub fn validate(&self, value: &str) -> FieldResult<()>
pub fn validate(&self, value: &str) -> FieldResult<()>
Validates the given string slice as a URL slug.
Returns Ok(()) for a valid slug, or a FieldError::Validation
containing an error message for an invalid one.
§Examples
use reinhardt_forms::validators::SlugValidator;
let validator = SlugValidator::new();
assert!(validator.validate("my-slug-123").is_ok());
assert!(validator.validate("trailing-").is_err());
assert!(validator.validate("-leading").is_err());Trait Implementations§
Source§impl Clone for SlugValidator
impl Clone for SlugValidator
Source§fn clone(&self) -> SlugValidator
fn clone(&self) -> SlugValidator
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SlugValidator
impl Debug for SlugValidator
Auto Trait Implementations§
impl Freeze for SlugValidator
impl RefUnwindSafe for SlugValidator
impl Send for SlugValidator
impl Sync for SlugValidator
impl Unpin for SlugValidator
impl UnsafeUnpin for SlugValidator
impl UnwindSafe for SlugValidator
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
Mutably borrows from an owned value. Read more