[−][src]Derive Macro rocket::FromForm
#[derive(FromForm)]
{
// Attributes available to this derive:
#[form]
}Derive for the FromForm trait.
The FromForm derive can be applied to structures with named fields:
#[derive(FromForm)] struct MyStruct { field: usize, other: String }
Each field's type is required to implement FromFormValue.
The derive generates an implementation of the FromForm trait. The
implementation parses a form whose field names match the field names of the
structure on which the derive was applied. Each field's value is parsed with
the FromFormValue implementation of the field's type. The FromForm
implementation succeeds only when all of the field parses succeed. If
parsing fails, an error (FromForm::Error) of type FormParseError is
returned.
The derive accepts one field attribute: form, with the following syntax:
form := 'field' '=' '"' IDENT '"'
IDENT := valid identifier, as defined by Rust
When applied, the attribute looks as follows:
#[derive(FromForm)] struct MyStruct { field: usize, #[form(field = "renamed_field")] other: String }
The field attribute directs that a different incoming field name is
expected, and the value of the field attribute is used instead of the
structure's actual field name when parsing a form. In the example above, the
value of the MyStruct::other struct field will be parsed from the incoming
form's renamed_field field.