diff --git a/src/routes/blogs.rs b/src/routes/blogs.rs index 295d08a8..a70e403b 100644 --- a/src/routes/blogs.rs +++ b/src/routes/blogs.rs @@ -1,4 +1,7 @@ -use activitystreams::collection::{OrderedCollection, OrderedCollectionPage}; +use activitystreams::{ + collection::{OrderedCollection, OrderedCollectionPage}, + iri_string::{spec::IriSpec, validate::iri_reference}, +}; use diesel::SaveChangesDsl; use rocket::{ http::ContentType, @@ -80,7 +83,7 @@ pub struct NewBlogForm { fn valid_slug(title: &str) -> Result<(), ValidationError> { let slug = Blog::slug(title); - if slug.is_empty() { + if slug.is_empty() || iri_reference::(slug).is_err() { Err(ValidationError::new("empty_slug")) } else { Ok(())