abstract_std/objects/validation/
error.rs1use thiserror::Error;
2
3use super::verifiers::DANGEROUS_CHARS;
4
5#[derive(Error, Debug, PartialEq)]
6pub enum ValidationError {
7 #[error("description too short, must be at least {0} characters")]
8 DescriptionInvalidShort(usize),
9
10 #[error("description too long, must be at most {0} characters")]
11 DescriptionInvalidLong(usize),
12
13 #[error(
14 "description contains dangerous characters, including one of {:?}",
15 DANGEROUS_CHARS
16 )]
17 DescriptionContainsDangerousCharacters {},
18
19 #[error("link too short, must be at least {0} characters")]
20 LinkInvalidShort(usize),
21
22 #[error("link too long, must be at most {0} characters")]
23 LinkInvalidLong(usize),
24
25 #[error("link must start with http:// or https://")]
26 LinkInvalidFormat {},
27
28 #[error(
29 "link contains dangerous characters, including one of {:?}",
30 DANGEROUS_CHARS
31 )]
32 LinkContainsDangerousCharacters {},
33
34 #[error("title/gov-type too short, must be at least {0} characters")]
35 TitleInvalidShort(usize),
36
37 #[error("title/gov-type too long, must be at most {0} characters")]
38 TitleInvalidLong(usize),
39
40 #[error(
41 "title/gov-type contains dangerous characters, including one of {:?}",
42 DANGEROUS_CHARS
43 )]
44 TitleContainsDangerousCharacters {},
45}