You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
id of the field. If not set, will be auto-generated from the slugified version of either: schema.inputName, schema.label or schema.model, in that order. If the fieldIdPrefix option is set, it's value will be prepended to both manual & auto-generated ids.
featured
false
Boolean
is it a featured (bold) field? It can be a function too.
visible
true
Boolean
if false, field will be hidden. It can be a function too.
disabled
false
Boolean
if true, field will be disabled. It can be a function too.
required
false
Boolean
if true, must be fill this field (need to use validator).
multi
false
Boolean
if true, it will visible only if multiple is true in component attributes
default
none
any
Default value of the field (use when create a new model)
hint
none
String
show this hint below the field
inputName
none
String
set name attribute to input field. You can use it to generate normal HTML Forms and submit the field values to server-side. Example
help
none
String
show this help if mouse hover the question icon before the caption of field. You can use HTML elements too.
validator
none
Function or Array
Validator for value. It can be an array of functions too.
styleClasses
none
String or Array
custom css style classes. It will be appended to the .from-group
Array of button objects. This is useful if you need some helper function to fill the field. (E.g. generate password, get GPS location..etc)*
Common methods of field
Method
Description
get: function(model) {...}
A read formatter function where you can format the model value to the field
set: function(model, value) {...}
A write formatter function where you can format the field value to the model
Common events of field
Name
Attributes
Description
onChanged
(model, newVal, oldVal, field)
Triggered if the value of field is changed.
onValidated
(model, errors, field)
Triggered if validation of field is executed.
Example
{type: "input",inputType: "text",label: "Name",model: "name",id: "full_name",readonly: false,featured: true,disabled: false,required: true,default: "Anonymous",hint: "Please enter your full name",help: "This is an other longer help text",validator: validators.string,onChanged: function(model,newVal,oldVal,field){console.log(`Model's name changed from ${oldVal} to ${newVal}. Model:`,model);},onValidated: function(model,errors,field){if(errors.length>0)console.warn("Validation error in Name field! Errors:",errors);}}
Dynamic visibility
With the visible, disabled, readonly and featured properties, you can also show or disable fields dynamically.
Those properties can take a Function with a model parameters and expect a Boolean in return.
{type: "select",label: "Type",model: "type",values: [{id: "personal",name: "Personal"},{id: "business",name: "Business"}]},{type: "text",label: "Company name",model: "company.name",visible: function(model){//visible if business is selectedreturnmodel&&model.type=="business";}}
Generated values
For fields select, checklist, selectEx or vueMultiSelect, the values property can be a Function. In this case, you can dynamically generate the items.
{type: "select",label: "Item",model: "item",// values gets model and schema as parametersvalues: function(model,schema){switch(model.category){case"Fruit": return["Apple","Peach","Orange"];case"Vehicle": return["Car","Bicycle","Ship"];case"Animals": return["Lion","Dog","Cat"];}return[];}}