Hacker Newsnew | past | comments | ask | show | jobs | submit | tu6ge's commentslogin

My design goal is to create a framework. Currently, I have briefly tried out the extensibility of the executor and I think it can handle the task of customizing shaders

Well, I put a video on the README showing draging to connect port

Valitron is an ergonomics, functional and configurable validator

## Features

- Ergonomics validation - Build-in rule, e.g. Required, StartWith ... - Closure validate - Related validate, e.g. password confirm - Custom rule with other parameter - Check / modify input data - Custom error message type - Support different error types convert, it can use both build-in rules and custom error type simultaneously - Collect validate error messages - Support all types data on `#[derive(Serialize, Deserialize)]` ( visit [`serde`](https://serde.rs/) for more info)

## Examples

```rust fn main() { let validator = Validator::new() .rule("name", Required.and(StartWith("hello"))) .rule("age", custom(age_limit)) .message([ ("name.required", "name is required"), ("name.start_with", "name should be starts with `hello`"), ]);

    let person = Person {
        name: "li",
        age: 18,
    };

    let res = validator.validate(person);
    // or using trait
    let res = person.validate(validator);
}

fn age_limit(n: &mut u8) -> Result<(), Message> { if n >= 25 && n <= 45 { return Ok(()); } Err("age should be between 25 and 45".into()) } ```


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: