nova_forms

Trait Datatype

Source
pub trait Datatype:
    Clone
    + Display
    + FromStr<Err = Self::Error>
    + Into<Self::Inner>
    + 'static {
    type Inner: Datatype;
    type Error: From<<Self::Inner as Datatype>::Error> + Error + Clone + 'static;

    // Required methods
    fn validate(input: Self::Inner) -> Result<Self, Self::Error>
       where Self: Sized;
    fn attributes() -> Vec<(&'static str, Attribute)>;
    fn default_debug_value() -> Self
       where Self: Sized;
}
Expand description

A trait for defining custom datatypes. Implemented on all types that can be used as a form input.

Required Associated Types§

Source

type Inner: Datatype

Source

type Error: From<<Self::Inner as Datatype>::Error> + Error + Clone + 'static

Required Methods§

Source

fn validate(input: Self::Inner) -> Result<Self, Self::Error>
where Self: Sized,

Validate the input and return the datatype.

Source

fn attributes() -> Vec<(&'static str, Attribute)>

Return the HTML attributes for the datatype that should be added to an input field.

Source

fn default_debug_value() -> Self
where Self: Sized,

Debug value to autofill the form.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Datatype for bool

Source§

impl Datatype for i8

Source§

type Inner = i8

Source§

type Error = <i8 as FromStr>::Err

Source§

fn validate(input: i8) -> Result<Self, <i8 as FromStr>::Err>

Source§

fn attributes() -> Vec<(&'static str, Attribute)>

Source§

fn default_debug_value() -> Self

Source§

impl Datatype for i16

Source§

impl Datatype for i32

Source§

impl Datatype for i64

Source§

impl Datatype for i128

Source§

impl Datatype for u8

Source§

type Inner = u8

Source§

type Error = <u8 as FromStr>::Err

Source§

fn validate(input: u8) -> Result<Self, <u8 as FromStr>::Err>

Source§

fn attributes() -> Vec<(&'static str, Attribute)>

Source§

fn default_debug_value() -> Self

Source§

impl Datatype for u16

Source§

impl Datatype for u32

Source§

impl Datatype for u64

Source§

impl Datatype for u128

Source§

impl Datatype for String

Source§

impl Datatype for BigInt

Source§

impl Datatype for BigRational

Implementors§

Source§

impl Datatype for Accept

Source§

impl Datatype for Date

Source§

impl Datatype for DateTime

Source§

impl Datatype for Email

Source§

impl Datatype for NonEmptyString

Source§

impl Datatype for Optional<i8>

Source§

impl Datatype for Optional<i16>

Source§

impl Datatype for Optional<i32>

Source§

impl Datatype for Optional<i64>

Source§

impl Datatype for Optional<i128>

Source§

impl Datatype for Optional<u8>

Source§

impl Datatype for Optional<u16>

Source§

impl Datatype for Optional<u32>

Source§

impl Datatype for Optional<u64>

Source§

impl Datatype for Optional<u128>

Source§

impl Datatype for Optional<BigInt>

Source§

impl Datatype for Optional<Date>

Source§

impl Datatype for Optional<DateTime>

Source§

impl Datatype for Optional<Time>

Source§

impl Datatype for Optional<BigRational>

Source§

impl Datatype for Telephone

Source§

impl Datatype for Time