2 unstable releases
Uses new Rust 2024
| 0.2.0 | Jan 11, 2026 |
|---|---|
| 0.1.0 | Jan 9, 2026 |
#1379 in Web programming
14KB
54 lines
đ html_form_struct
Generate a struct from an HTML form.
âļī¸ Quick Start
<form id="register">
<input type="text" name="username" required />
<input type="password" name="password" required />
<input type="email" name="email" />
<!--
form_struct: type=u32
-->
<input type="number" name="guess" />
</form>
use html_form_struct::form_struct;
#[form_struct("index.html", "form#register")]
// important: derive must come after form_struct
#[derive(Debug, Clone, Eq, PartialEq, Hash, serde::Serialize, serde::Deserialize)]
pub struct Registration;
Output:
#[derive(Debug, Clone, Eq, PartialEq, Hash, serde::Serialize, serde::Deserialize)]
pub struct Registration {
pub email: Option<String>,
pub guess: Option<u32>,
pub password: String,
pub username: String,
}
A production example can be found in esp32-wifi-bridge.
âšī¸ Note
This project was created for esp32-wifi-bridge, but may be useful for others.
đˇ Code Style
Obey rustfmt, Rust 2024, and clippy.
đ¤ Cotributions
Pull requests are always welcome.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed under the terms of both the MIT License and the Apache License (Version 2.0).
đĸ Version Scheme
- This project adheres to Semantic Versioning.
- This project uses Conventional Commits.
- Changes are documented in the Changelog.
đĒ Authors
âī¸ License
See LICENSE-APACHE and LICENSE-MIT for details.
Dependencies
~3MB
~62K SLoC