#[non_exhaustive]pub struct FieldCx<'a> {
pub name: &'a str,
pub id: &'a str,
pub label: &'a str,
pub value: &'a FieldValue,
pub required: bool,
pub max_length: Option<usize>,
pub opts: &'a ResolvedOptions,
pub base: &'a str,
pub i18n: &'a Translator,
}Expand description
The resolved per-field state a field type renders from.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: &'a strThe submitted/DOM field name (becomes a path with repeaters).
id: &'a strA DOM-safe id for the control and its label’s for.
label: &'a str§value: &'a FieldValue§required: boolDerived from the merged (intrinsic + descriptor) rules.
max_length: Option<usize>The longest value the rules accept, from a max_length rule.
opts: &'a ResolvedOptions§base: &'a strThe admin mount path (e.g. /admin), so a type that calls an endpoint
(the reference picker) builds its URL without knowing routing conventions.
i18n: &'a TranslatorThe request’s translator, for the strings a field type localizes itself.
label above is already localized by the caller, because the framework
chrome renders it too. A composite type is the case this exists for: a
repeater’s sub-field labels are declared inside the type and never pass
through the caller, so without this they could only render from their
source string, untranslated on every surface.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for FieldCx<'a>
impl<'a> !UnwindSafe for FieldCx<'a>
impl<'a> Freeze for FieldCx<'a>
impl<'a> Send for FieldCx<'a>
impl<'a> Sync for FieldCx<'a>
impl<'a> Unpin for FieldCx<'a>
impl<'a> UnsafeUnpin for FieldCx<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more