facet classafFormBean::HtmlInput
sys::Obj afFormBean::HtmlInput : sys::Facet
Place on the field of a Fantom object / form bean if it should be rendered as HTML <input>
tag.
- attributes
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
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
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
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
const Bool disabled
If
true
then adisabled
attribute will be rendered on the input.Convenience for
attributes = "disabled"
- hint
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 theformBean-hint
CSS class.If
null
then the msg key<bean>.<field>.hint
is used to look for a value.- inputSkin
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
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
const Obj? max
HTML5 validation. Sets the maximum value (inclusive). May be an
Int
,Date
,DateTime
, orStr
.If
null
then the msg key<bean>.<field>.max
is used to look for a value.- maxLength
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
const Obj? min
HTML5 validation. Sets the minimum value (inclusive). May be an
Int
,Date
,DateTime
, orStr
.If
null
then the msg key<bean>.<field>.min
is used to look for a value.- minLength
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
const Type? optionsProvider
Used by the
<select>
renderer. TheOptionsProvider
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
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
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
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
const Bool? showBlank
Used by the
<select>
renderer. Set totrue
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
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
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 totext
if not found.- validationMethod
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
const Type? valueEncoder
The
ValueEncoder
(type) used to convert the field value to and from aStr
.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()
andtoClient()
methods will work.Defaults to using BedSheet's
ValueEncoders
service if not found.- viewOnly
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.