classafFormBean::SkinCtx

sys::Obj
  afFormBean::SkinCtx

Passed to InputSkins to provide all the information they need to render a form field.

bean

Source

Obj? bean { internal set }

The bean instance being rendered.

beanInvalid

Source

Bool beanInvalid()

Returns true if the bean is invalid; that is, if any field is in error.

errMsg

Source

Str? errMsg

Convenience for FormField.errMsg.

The error message associated with this field.

Setting this to a non-null value invalidate the form field.

field

Source

const Field field

The corresponding bean field.

fieldInvalid

Source

Bool fieldInvalid

Convenience for FormField.invalid.

Returns true if the form field is invalid. Note that just because the field is invalid, it does not mean it has an error message.

Setting this to false also clears any errMsg.

fieldValue

Source

Obj? fieldValue()

Returns the field value.

formBean

Source

FormBean formBean { internal set }

The containing FormBean instance.

formField

Source

FormField formField { internal set }

The FormField being rendered.

label

Source

Str label()

Returns the preferred display label associated with the field.

msg

Source

Str? msg(Str key, Obj? arg1 := null, Obj? arg2 := null, Obj? arg3 := null)

Convenience for FormField.msg.

Returns a message for the given field. Messages are looked up in the following order:

  • <bean>.<field>.<key>
  • <field>.<key>
  • <key>

And the following substitutions are made:

  • ${label} -> formField.label
  • ${value} -> formField.formValue
  • ${arg1} -> arg1.toStr
  • ${arg2} -> arg2.toStr
  • ${arg3} -> arg3.toStr

The form value is substituted for ${value} because it is intended for use by validation msgs.

Returns null if a msg could not be found.

name

Source

Str name()

Convenience for field.name. Safe for use as an ID / CSS class name.

renderAttributes

Source

Str renderAttributes([Str:Str]? extraAttributes := null)

Returns a rendered string of common attributes to be placed in the <input> HTML tag. This includes id, name and any validation attributes defined on the HtmlInput facet.

Note the string does not contain the type or value attributes as these are dependent on the input type.

The given extraAttributes are merged in, with any values of the same name being separated with a space. This allows you to pass in extra css class names.

attrs := skinCtx.renderAttributes(["autocomplete" : "off", "css" : "funkStyle"])

Note that empty string values are rendered as HTML5 empty attributes. e.g. ["disabled":""] would be rendered as just disabled.

toClient

Source

Str toClient(Obj? value)

Converts the given value to a string using the preferred ValueEncoder.

value

Source

Str value()

Returns the preferred string value to be rendered in the <input>.