#type #string #validate #parse #don't #blank #non

non-blank-string-rs

非空字符串类型,用于“解析,不验证”方法

3 个稳定版本

1.0.3 2023 年 8 月 6 日
1.0.2 2023 年 3 月 9 日
1.0.1 2023 年 2 月 26 日

解析器实现 中排名 #2095

MIT/Apache 许可

8KB
133 行代码(不包括注释)

非空字符串类型

用于 Alexi King 建议的方法的非空字符串类型 - "解析,不验证"

如何使用

添加依赖

cargo add non-blank-string-rs

使用

let username = NonBlankString::from_str("Hellow")?;
let username: NonBlankString = "Hellow".parse()?;

// fn login(username: &str)
login(&username)

适用于 REST API 端点,例如 /api/register 接受

#[derive(Deserialize)]
struct UserRegistrationRequest {
    pub username: NonBlankString,
    ...
}

username 字段中有空值的传入 JSON 将引发反序列化错误(Serde)。

实用函数

添加到 Cargo.toml

[dev-dependencies]
non-blank-string-rs = { version = "1.0.3", features = ["utils"] }

函数

  • get_random_nonblank_string() - 返回随机的 NonBlankString。适用于测试。

感谢

依赖

~0.4–1.1MB
~25K SLoC