abstract_std/objects/validation/
error.rs

1use 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}