diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2016-09-28 19:51:21 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2016-09-30 10:45:28 +0200 |
commit | d6f705dc9036bcb9777530aa259c83ff0e11293d (patch) | |
tree | be8cb5c0e2c76c0be72597a8e5dac13099f7990a /libimagutil | |
parent | 6999f95c4d7653b9c44960a9cb54b8675f428269 (diff) |
Add is_tag clap validator helper
Diffstat (limited to 'libimagutil')
-rw-r--r-- | libimagutil/src/cli_validators.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libimagutil/src/cli_validators.rs b/libimagutil/src/cli_validators.rs index 20c4f0b8..ed102ca5 100644 --- a/libimagutil/src/cli_validators.rs +++ b/libimagutil/src/cli_validators.rs @@ -24,3 +24,12 @@ pub fn is_url(s: String) -> Result<(), String> { Url::parse(&s).map(|_| ()).map_err(|_| format!("Not a URL: {}", s)) } +pub fn is_tag(s: String) -> Result<(), String> { + use regex::Regex; + lazy_static! { static ref TAG_RE : Regex = Regex::new("[:alpha:][:word:]*").unwrap(); } + + TAG_RE + .is_match(&s) + .as_result((), format!("Not a valid Tag: '{}' - Valid is [a-zA-Z][0-9a-zA-Z]*", s)) +} + |