pval 0.1.0

A Rust library for password validation with customizable criteria.
Documentation
## Installation

Add `pval` to your `Cargo.toml`:

```toml
[dependencies]
pval = "0.1.0"
```

Or you can add it via the command line:

```sh
cargo add pval
```

## Usage

Here's an example of how to use `pval`:

```rust
use pval::Pval;

fn main() -> Result<(), String> {
    let validator = Pval::new()
        .min_length(8)
        .require_uppercase(true)
        .require_lowercase(true)
        .require_digit(true)
        .require_special(true)
        .build();

    let password = "P@ssw0rd";

    validator.validate(password)?;
    println!("Password is valid.");

    Ok(())
}
```

You can also load passwords from a file and validate them:

```rust
use pval::Pval;
use pval::utils::load_passwords;

fn main() -> Result<(), std::io::Error> {
    let validator = Pval::new()
        .min_length(8)
        .require_uppercase(true)
        .require_lowercase(true)
        .require_digit(true)
        .require_special(true)
        .build();

    let passwords = load_passwords("passwords.txt")?;

    for password in passwords {
        match validator.validate(&password) {
            Ok(_) => println!("Password '{}' is valid.", password),
            Err(e) => println!("Password '{}' is invalid: {}", password, e),
        }
    }

    Ok(())
}
```

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.