aboutsummaryrefslogtreecommitdiffstats
path: root/validator_derive/tests/required.rs
blob: 2f02b1b54ea0daba1b4ba3b00537ee7534a4c71d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#[macro_use]
extern crate validator_derive;

use serde::Serialize;
use validator::Validate;

#[derive(Debug, Serialize)]
struct ObjectRef {
    id: i32,
    name: String,
}

#[derive(Debug, Validate)]
struct TestStruct {
    #[validate(required)]
    val: Option<ObjectRef>,
}

#[test]
fn can_validate_some() {
    let s = TestStruct { val: Some(ObjectRef { id: 0, name: String::new() }) };

    assert!(s.validate().is_ok());
}

#[test]
fn none_fails_validate() {
    let s = TestStruct { val: None };

    assert!(s.validate().is_err());
}