This commit is contained in:
naskya 2024-07-12 05:51:57 +09:00
parent f7294b311e
commit b0503a1a0e
Signed by: naskya
GPG key ID: 712D413B3A9FED5C
2 changed files with 6 additions and 3 deletions

View file

@ -73,7 +73,7 @@ fn derive_impl(input: syn::DeriveInput) -> proc_macro2::TokenStream {
#name: value.#name.ok_or(::optionalize::MissingRequiredField(stringify!(#name)))?.try_into()?
},
(true, true) => quote! {
#name: value.#name.try_into()?
#name: value.#name.map(|val| val.try_into()).transpose().ok().flatten()
},
}
});

View file

@ -1,14 +1,17 @@
use optionalize::Optionalize;
use validator::Validate;
#[derive(Validate, Optionalize)]
#[derive(Optionalize, Validate)]
struct Foo {
#[validate(nested)]
#[opt(name = BarOpt)]
bar: Bar,
#[validate(nested)]
#[opt(name = BarOpt)]
bar2: Option<Bar>,
}
#[derive(Validate, Optionalize)]
#[derive(Optionalize, Validate)]
struct Bar {
id: u16,
}