diff options
| author | Vincent Prouillet | 2018-03-19 12:34:57 +0100 | 
|---|---|---|
| committer | GitHub | 2018-03-19 12:34:57 +0100 | 
| commit | cd635464c3f3033ea64f53ac1f6cb38a7e8c41fd (patch) | |
| tree | 3613384d280a666e096ba880e667b638083beba4 | |
| parent | 6ce2d3a5264fb337d9a8b5f365fc98387baafa8a (diff) | |
| parent | 8ca1fe94d779dcccf4b3f4c23a08f3ede7e10956 (diff) | |
| download | validator-cd635464c3f3033ea64f53ac1f6cb38a7e8c41fd.tar.bz2 | |
Merge pull request #45 from Eijebong/fix_path_in_derive
Fix path parsing for custom validators
| -rw-r--r-- | validator_derive/Cargo.toml | 2 | ||||
| -rw-r--r-- | validator_derive/src/quoting.rs | 2 | ||||
| -rw-r--r-- | validator_derive/tests/run-pass/custom.rs | 6 | 
3 files changed, 8 insertions, 2 deletions
| diff --git a/validator_derive/Cargo.toml b/validator_derive/Cargo.toml index 00c7de7..9c0c67f 100644 --- a/validator_derive/Cargo.toml +++ b/validator_derive/Cargo.toml @@ -1,6 +1,6 @@  [package]  name = "validator_derive" -version = "0.6.2" +version = "0.6.3"  authors = ["Vincent Prouillet <vincent@wearewizards.io>"]  license = "MIT"  description = "Macros 1.1 implementation of #[derive(Validate)]" diff --git a/validator_derive/src/quoting.rs b/validator_derive/src/quoting.rs index bf2a531..028e864 100644 --- a/validator_derive/src/quoting.rs +++ b/validator_derive/src/quoting.rs @@ -250,7 +250,7 @@ pub fn quote_custom_validation(field_quoter: &FieldQuoter, validation: &FieldVal      let validator_param = field_quoter.quote_validator_param();      if let Validator::Custom(ref fun) = validation.validator { -        let fn_ident = syn::Ident::from(fun.clone()); +        let fn_ident: syn::Path = syn::parse_str(fun).unwrap();          let add_message_quoted = if let Some(ref m) = validation.message {              quote!(err.message = Some(::std::borrow::Cow::from(#m));)          } else { diff --git a/validator_derive/tests/run-pass/custom.rs b/validator_derive/tests/run-pass/custom.rs index 3a2a396..dff6375 100644 --- a/validator_derive/tests/run-pass/custom.rs +++ b/validator_derive/tests/run-pass/custom.rs @@ -10,6 +10,12 @@ struct Test {      s: String,  } +#[derive(Validate)] +struct TestPath { +    #[validate(custom = "::validate_something")] +    s: String, +} +  fn validate_something(s: &str) -> Result<(), ValidationError> {      Ok(())  } | 
