Skip to main content

Form

Struct Form 

Source
pub struct Form { /* private fields */ }
Expand description

What a form asks for and what writes it.

action is the name the write is reached under, which the repository reads back in ViewLogic::act. args are the values the form carries rather than asks for: a form built per row knows which row it belongs to, and says so here rather than making the reader pick the row again.

Implementations§

Source§

impl Form

Source

pub fn new(action: impl Into<String>) -> Self

Examples found in repository?
examples/library/main.rs (line 763)
762    fn loan_form(title: &str) -> Form {
763        Form::new("lend-a-book")
764            .arg("title", title)
765            .field(Field::text("borrower", "Borrower"))
766            .field(Field::number("days", "Days out").default(21))
767            .field(Field::date("from", "Date lent").default(civil_from_days(today())))
768            .field(
769                Field::one_of(
770                    "condition",
771                    "Condition it left in",
772                    ["As new", "Good", "Worn"],
773                )
774                .default("Good"),
775            )
776    }
Source

pub fn arg(self, key: impl Into<String>, value: impl Display) -> Self

One argument the form carries, which is how a form built per row says which row it belongs to.

It is added to the view’s own arguments on the way to the action, and it is what the action is checked against: a write is refused unless a button on the page offers that action with exactly these arguments. A key the view itself declares as a parameter is refused, since a form that answered one of the page’s own questions would be checked against a different page than the one it is on.

Examples found in repository?
examples/library/main.rs (line 764)
762    fn loan_form(title: &str) -> Form {
763        Form::new("lend-a-book")
764            .arg("title", title)
765            .field(Field::text("borrower", "Borrower"))
766            .field(Field::number("days", "Days out").default(21))
767            .field(Field::date("from", "Date lent").default(civil_from_days(today())))
768            .field(
769                Field::one_of(
770                    "condition",
771                    "Condition it left in",
772                    ["As new", "Good", "Worn"],
773                )
774                .default("Good"),
775            )
776    }
Source

pub fn field(self, field: Field) -> Self

Examples found in repository?
examples/library/main.rs (line 765)
762    fn loan_form(title: &str) -> Form {
763        Form::new("lend-a-book")
764            .arg("title", title)
765            .field(Field::text("borrower", "Borrower"))
766            .field(Field::number("days", "Days out").default(21))
767            .field(Field::date("from", "Date lent").default(civil_from_days(today())))
768            .field(
769                Field::one_of(
770                    "condition",
771                    "Condition it left in",
772                    ["As new", "Good", "Worn"],
773                )
774                .default("Good"),
775            )
776    }
Source

pub fn fields(self, fields: impl IntoIterator<Item = Field>) -> Self

Trait Implementations§

Source§

impl Clone for Form

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Form

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Serialize for Form

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Form

§

impl RefUnwindSafe for Form

§

impl Send for Form

§

impl Sync for Form

§

impl Unpin for Form

§

impl UnsafeUnpin for Form

§

impl UnwindSafe for Form

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.