facet classafFormBean::HtmlInput

sys::Obj
  afFormBean::HtmlInput : sys::Facet

@Serializable

Place on the field of a Fantom object / form bean if it should be rendered as HTML <input> tag.

attributes

Source

const Str? attributes

Any other miscellaneous attributes that should be rendered on the <input>. Example:

@HtmlInput { attributes = "autocomplete='off'" }

If null then the msg key <bean>.<field>.attributes is used to look for a value. Example:

bean.field.attributes = autocomplete='off'
autocomplete

Source

const Str? autocomplete

The value to render as the autocomplete attribute on the <input>.

If null then the msg key <bean>.<field>.placeholder is used to look for a value.

blankLabel

Source

const Str? blankLabel

Used by the <select> renderer. This is the label to display in the blank option.

If null then the msg key <bean>.<field>.blankLabel is used to look for a value.

leave as null to use OptionsProvider.blankLabel value.

css

Source

const Str? css

The value to render as a CSS class attribute on the <input>. May contain multiple space-separated values. Example:

bean.field.css = big green

If null then the msg key <bean>.<field>.css is used to look for a value.

disabled

Source

const Bool disabled

If true then a disabled attribute will be rendered on the input.

Convenience for attributes = "disabled"

hint

Source

const Str? hint

If non-null an extra <div> is rendered after the <input> to supply a helpful hint. The hint is usually rendered with the formBean-hint CSS class.

If null then the msg key <bean>.<field>.hint is used to look for a value.

inputSkin

Source

const Type? inputSkin

The InputSkin (type) used to render the field to HTML. InputSkins are autobuilt and cached by IoC. Example:

@HtmlInput { inputSkin = acme::MySkin# }

If null then the msg key <bean>.<field>.inputSkin is used to look for a value. Example:

bean.field.inputSkin = acme::MySkin

Defaults a lookup using @HtmlInput.type if not found.

label

Source

const Str? label

The label to display next to the <input>.

If null then the msg key <bean>.<field>.label is used to look for a value. Defaults to a human readable version of the field name if not found.

max

Source

const Obj? max

HTML5 validation. Sets the maximum value (inclusive). May be an Int, Date, DateTime, or Str.

If null then the msg key <bean>.<field>.max is used to look for a value.

maxLength

Source

const Int? maxLength

HTML5 validation. Sets the maximum length (inclusive) a string should be.

If null then the msg key <bean>.<field>.maxLength is used to look for a value.

min

Source

const Obj? min

HTML5 validation. Sets the minimum value (inclusive). May be an Int, Date, DateTime, or Str.

If null then the msg key <bean>.<field>.min is used to look for a value.

minLength

Source

const Int? minLength

HTML5 validation. Sets the minimum length (inclusive) a string should be.

If null then the msg key <bean>.<field>.minLength is used to look for a value.

optionsProvider

Source

const Type? optionsProvider

Used by the <select> renderer. The OptionsProvider to use to provide, um, options! OptionsProvider instances are autobuilt and cached by IoC. Example:

@HtmlInput { optionsProvider = acme::MyOptionsProvider# }

If null then the msg key <bean>.<field>.optionsProvider is used to look for a value. Example:

bean.field.optionsProvider = acme::MyOptionsProvider

leave as null to use a default.

pattern

Source

const Regex? pattern

HTML5 validation. Sets a regular expression that the (stringified) value should match. Starting ^ and ending $ characters are implicit and not required.

If null then the msg key <bean>.<field>.pattern is used to look for a value.

placeholder

Source

const Str? placeholder

The value to render as a placeholder attribute on the <input>.

If null then the msg key <bean>.<field>.placeholder is used to look for a value.

required

Source

const Bool? required

HTML5 validation. Set to true to mark the input as required.

If null then the msg key <bean>.<field>.required is used to look for a value. If still not found then the input is deemed required if the field is non-nullable.

showBlank

Source

const Bool? showBlank

Used by the <select> renderer. Set to true to show a blank value at the start of the options list.

If null then the msg key <bean>.<field>.showBlank is used to look for a value.

leave as null to use OptionsProvider.showBlank value.

step

Source

const Int? step

HTML5 validation. Defines number intervals for a numeric input.

If null then the msg key <bean>.<field>.step is used to look for a value.

type

Source

const Str? type

The type of input to render. This value is used to select the skin used to render the input.

If null then the msg key <bean>.<field>.type is used to look for a value. Defaults to text if not found.

validationMethod

Source

const Method? validationMethod

A static method that performs extra server side validation.

If null then the msg key <bean>.<field>.validationMethod is used to look for the qname. Example:

bean.field.validationMethod = acme::Bean.validateName

Note The bean type is also searched for static methods annotated with @Validate, for example:

@Validate { field=#name }
static Void validateName(FormField formField) {
    if (formField.formValue == "Trisha")
        formField.errMsg = "Ex-girlfriends not allowed!"
} 
valueEncoder

Source

const Type? valueEncoder

The ValueEncoder (type) used to convert the field value to and from a Str. ValueEncoders are autobuilt and cached by IoC. Example:

@HtmlInput { valueEncoder = acme::MyValueEncoder# }

If null then the msg key <bean>.<field>.valueEncoder is used to look for a value. Example:

bean.field.valueEncoder = acme::MyValueEncoder

Ideally, the class should extend BedSheet's ValueEncoder mixin, but any class that responds to the same toValue() and toClient() methods will work.

Defaults to using BedSheet's ValueEncoders service if not found.

viewOnly

Source

const Bool? viewOnly

If true then the field is rendered into the HTML form as normal, but no attempt is made to validate the form value or decode it to a Fantom value.

Useful for rendering static, read only, HTML associated with the field.

If null then the msg key <bean>.<field>.viewOnly is used to look for a value.