Skip to content
scalive
Menu
ConnectingLiveReconnectingOffline
GitHub
c

FormRoot

class FormRoot

Declares a root-level form schema namespace.

Keep the returned root as a stable value: its singleton type owns fields, initial assignments, and the definition produced by product.

Defined by scalive.FormRoot. View source (scalive/api/src/scalive/forms/FormField.scala:129-186)

Types2

Field

type Field = ([Input, Value] =>> FormField[type, Input, Value])

Defined by scalive.FormRoot.Field. View source (scalive/api/src/scalive/forms/FormField.scala:132-132)

Initial

type Initial = FormInitial[type]

Defined by scalive.FormRoot.Initial. View source (scalive/api/src/scalive/forms/FormField.scala:133-133)

Methods6

field

def field[Input](relative: String, input: FieldInput[Input]): Field[Input, Input]

Declares a field at a trusted relative path with a custom editable-input codec.

Defined by scalive.FormRoot.field. View source (scalive/api/src/scalive/forms/FormField.scala:136-137)

optionalText

def optionalText(relative: String, empty: String = ..., duplicateIssue: FieldIssue = ...): Field[Option[String], Option[String]]

Declares a single-value optional text field.

Defined by scalive.FormRoot.optionalText. View source (scalive/api/src/scalive/forms/FormField.scala:150-158)

product

def product[Domain](parts: Tuple)(using mirror: deriving.Mirror.ProductOf[Domain]): FormDefinition[type, Domain]

Completes a product schema, checking at compile time that part values match Domain.

Defined by scalive.FormRoot.product. View source (scalive/api/src/scalive/forms/FormField.scala:169-175)

rows

def rows(relative: String): RepeatedGroup[type]

Opens an identity-scoped namespace for stable keyed repeated rows.

Defined by scalive.FormRoot.rows. View source (scalive/api/src/scalive/forms/FormField.scala:165-166)

text

def text(relative: String, default: String = ..., duplicateIssue: FieldIssue = ...): Field[String, String]

Declares a single-value text field.

Defined by scalive.FormRoot.text. View source (scalive/api/src/scalive/forms/FormField.scala:140-147)

texts

def texts(relative: String): Field[Vector[String], Vector[String]]

Declares a field that preserves every submitted value in order.

Defined by scalive.FormRoot.texts. View source (scalive/api/src/scalive/forms/FormField.scala:161-162)

Values1

path

val path: FormPath

Defined by scalive.FormRoot.path. View source (scalive/api/src/scalive/forms/FormField.scala:129-129)