\ValidFormBuilderArea

Group fields together in an Area

An area is about the same as a fieldset but an Area has more interactive options like the 'active' property or even the 'dynamic' meta.

An Area can be used to group form fields together. When an Area is active, it can toggle the disabled state on all it's child form fields using the auto-generated checkbox in the Area's legend.

Example; Active area

$objArea = $objForm->addArea("Disable fields", true, "fields-disabled");
$objArea->addField(
    "first-name",
    "First name",
    ValidForm::VFORM_STRING,
    array(
        // Make this field required
        "required" => true
    ),
    array(
        // Show this error to indicate this is an required field if no value is submitted
        "required" => "This field is required"
    )
);
$objArea->addField(
    "last-name",
    "Last name",
    ValidForm::VFORM_STRING,
    array(
        // Make this field required
        "required" => true
    ),
    array(
        // Show this error to indicate this is an required field if no value is submitted
        "required" => "This field is required"
    )
);

Example 2; Adding a string field to the area

$objArea = $objForm->addArea("Cool area");
$objArea->addField("first-name", "First name", ValidForm::VFORM_STRING);

Example 3; Addding a paragraph to the Area

$objArea->addParagraph(
    "Cool paragraph with lots of text in it. It's an absolute must-read.",
    "You must read this"
);

Summary

Methods
Properties
Constants
isDynamic()
addCondition()
getConditions()
getCondition()
getMetCondition()
hasCondition()
hasConditions()
getConditionRecursive()
getDynamicButtonMeta()
setConditionalMeta()
setMeta()
setFieldMeta()
getFieldMeta()
setLabelMeta()
setTipMeta()
setDynamicLabelMeta()
setDynamicRemoveLabelMeta()
getMeta()
getLabelMeta()
getName()
getDynamicName()
getShortLabel()
toJS()
setData()
getData()
__get()
__set()
__call()
__construct()
addField()
addParagraph()
addMultiField()
toHtml()
hasContent()
isActive()
isValid()
getDynamicCount()
getFields()
getValue()
getId()
getType()
hasFields()
getLabel()
setLabel()
getRequiredStyle()
setRequiredStyle()
getId()
setId()
setName()
getParent()
setParent()
setConditions()
getTipMeta()
getDynamicLabelMate()
getDynamicRemoveLabelMate()
getMagicMeta()
getMagicReservedMeta()
getReservedFieldMeta()
getReservedLabelMeta()
getReservedMeta()
hasFields()
getFields()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Methods

isDynamic()

isDynamic() : boolean

Check if the current field is a dynamic field.

Returns

boolean —

True if dynamic, false if not.

addCondition()

addCondition(string  $strType, boolean  $blnValue, array  $arrComparisons, string  $intComparisonType = \ValidFormBuilder\ValidForm::VFORM_MATCH_ANY) 

Add a new condition to the current field

For examples, check \ValidFormBuilder\Condition

Parameters

string $strType

Define the condition type. This can be either required, visibile or enabled

boolean $blnValue

Define whether this condition activates if the comparison(s) are true or false.

array $arrComparisons

An array of Comparison objects

string $intComparisonType

The comparison type. Either ValidForm::VFORM_MATCH_ANY or ValidForm::VFORM_MATCH_ALL. With VFORM_MATCH_ANY, as soon as one of the comparisons validates the condition, the condition is enforced. With ValidForm::VFORM_MATCH_ALL, all of the comparisons must validate before the condition will be enforced.

Throws

\Exception

if Condition could not be set

\InvalidArgumentException

If invalid arguments are supplied

getConditions()

getConditions() : array

Get the conditions collection

Returns

array

getCondition()

getCondition(string  $strProperty) : \ValidFormBuilder\Condition|null

Get element's Condition object

Note: When chaining methods, always use hasCondition() first before chaining for example getCondition()->isMet().

Parameters

string $strProperty

Condition type e.g. 'required', 'visibile' and 'enabled'

Returns

\ValidFormBuilder\Condition|null —

Found condition or null if no condition is found.

getMetCondition()

getMetCondition(string  $strProperty) : null|\ValidFormBuilder\Condition

Only get a condition of a given type if that condition is met. If the condition is not met, this returns null

Parameters

string $strProperty

Condition type e.g. 'required', 'visibile' and 'enabled'

Returns

null|\ValidFormBuilder\Condition

hasCondition()

hasCondition(string  $strProperty) : boolean

Check if the current field contains a condition object of a specific type

Parameters

string $strProperty

Condition type e.g. required, visibile and enabled

Returns

boolean —

True if element has condition object set, false if not

hasConditions()

hasConditions() : boolean

Check if the current object contains any conditions at all.

Returns

boolean —

True if it contains conditions, false if not.

getConditionRecursive()

getConditionRecursive(string  $strProperty, \ValidFormBuilder\Element  $objContext = null) : \ValidFormBuilder\Condition|null

This gets the condition of a given property, just like {@link \ValidFormBuilder\Base::getCondition()}.

When no condition is found on the current element, the method searches for a condition in it's parent element.

Parameters

string $strProperty

Condition type e.g. required, visibile and enabled

\ValidFormBuilder\Element $objContext

Returns

\ValidFormBuilder\Condition|null

getDynamicButtonMeta()

getDynamicButtonMeta() 

This method determines wheter or not to show the 'add extra field' dynamic button based on it's parent's condition state.

setConditionalMeta()

setConditionalMeta() 

Based on which conditions are met, corresponding metadata is set on the object.

setMeta()

setMeta(string  $property, mixed  $value, boolean  $blnOverwrite = false) : array

Set meta property.

Parameters

string $property

Property name.

mixed $value

Property value.

boolean $blnOverwrite

Optionally use this boolean to force an overwrite of previous property value.

Returns

array

setFieldMeta()

setFieldMeta(string  $property, mixed  $value, boolean  $blnOverwrite = false) : mixed

Set field specific meta data

Parameters

string $property

Property name.

mixed $value

Property value.

boolean $blnOverwrite

Optionally use this boolean to force an overwrite of previous property value.

Returns

mixed —

The newly set value

getFieldMeta()

getFieldMeta(string  $property = null, string  $fallbackValue = "") : mixed

Get field meta property.

Parameters

string $property

Property to get from internal field meta array.

string $fallbackValue

Optional fallback value if no value is found for requested property

Returns

mixed

setLabelMeta()

setLabelMeta(string  $property, mixed  $value, boolean  $blnOverwrite = false) : mixed

Set label specific meta data

Parameters

string $property

Property name.

mixed $value

Property value.

boolean $blnOverwrite

Optionally use this boolean to force an overwrite of previous property value.

Returns

mixed —

The newly set value

setTipMeta()

setTipMeta(string  $property, mixed  $value, boolean  $blnOverwrite = false) : mixed

Set tip specific meta data

Parameters

string $property

Property name.

mixed $value

Property value.

boolean $blnOverwrite

Optionally use this boolean to force an overwrite of previous property value.

Returns

mixed —

The newly set value

setDynamicLabelMeta()

setDynamicLabelMeta(string  $property, mixed  $value, boolean  $blnOverwrite = false) : mixed

Set dynamic label specific meta data

Parameters

string $property

Property name.

mixed $value

Property value.

boolean $blnOverwrite

Optionally use this boolean to force an overwrite of previous property value.

Returns

mixed —

The newly set value

setDynamicRemoveLabelMeta()

setDynamicRemoveLabelMeta(string  $property, mixed  $value, boolean  $blnOverwrite = false) : mixed

Set dynamic remove label specific meta data

Parameters

string $property

Property name.

mixed $value

Property value.

boolean $blnOverwrite

Optionally use this boolean to force an overwrite of previous property value.

Returns

mixed —

The newly set value

getMeta()

getMeta(string  $property = null, string  $fallbackValue = "") : mixed

Get meta property.

Parameters

string $property

Property to get from internal meta array.

string $fallbackValue

Optional fallback value if requested property has no value

Returns

mixed

getLabelMeta()

getLabelMeta(string  $property = null, string  $fallbackValue = "") : string

Get label meta property.

Parameters

string $property

Property to get from internal label meta array.

string $fallbackValue

Optional fallback value if requested property has no value

Returns

string —

Property value or empty string of none is set.

getName()

getName() : string

Return the (original) name of the current field.

Use getDynamicName() to get the field name + dynamic count

Returns

string —

The original field name

getDynamicName()

getDynamicName(integer  $intCount) : string

Same as getName() except getDynamicName adds the current dynamic count to the fieldname as a suffix (_1, _2 etc)

When the dynamic count === 0, the return value equals the output of getName()

Parameters

integer $intCount

The dynamic count

Returns

string —

The field name

getShortLabel()

getShortLabel() : string

Get the short label (meta 'summaryLabel') if available.

Use the 'long' (regular) label as a fallback return value.

Returns

string —

The short or regular element label

toJS()

toJS(integer  $intDynamicPosition) : string

Generate Javascript code.

See \ValidFormBuilder\Base::toJs()

Parameters

integer $intDynamicPosition

The dynamic position counter

Returns

string —

Generated javascript code

setData()

setData(string  $strKey = null, mixed  $varValue = null) : boolean

Store data in the current object.

This data will not be visibile in any output and will only be used for internal purposes. For example, you can store some custom data from your CMS or an other library in a field object, for later use.

Note: Using this method will overwrite any previously set data with the same key!

Parameters

string $strKey

The key for this storage

mixed $varValue

The value to store

Returns

boolean —

True if set successful, false if not.

getData()

getData(string  $strKey = null) : mixed

Get a value from the internal data array.

Parameters

string $strKey

The key of the data attribute to return

Returns

mixed

__get()

__get(string  $property) 

Magic getter method

Parameters

string $property

Throws

\BadMethodCallException

__set()

__set(string  $property, mixed  $value) 

Magic setter method

Parameters

string $property
mixed $value

Throws

\BadMethodCallException

__call()

__call(string  $method, mixed  $values) 

Magic caller method

Parameters

string $method
mixed $values

Throws

\BadMethodCallException

__construct()

__construct(string  $label, boolean  $active = false, string  $name = null, boolean  $checked = false, array  $meta = array()) 

Create a new Area instance

The label is used as a small 'header' above the area. When setting an area to 'active', this label becomes clickable using a checkbox. This clickable header can toggle child fields to be enabled / disabled.

Parameters

string $label

The Area's label

boolean $active

Whether the area should be active or not. When active, a checkbox will be prefixed to the header.

string $name

The name for this area

boolean $checked

Whether or not the active area should be checked by default

array $meta

The optional meta array

addField()

addField(string  $name, string  $label, integer  $type, array  $validationRules = array(), array  $errorHandlers = array(), array  $meta = array()) : null|\ValidFormBuilder\Element

Add a field to the Area.

See top of the page for an example

Parameters

string $name
string $label
integer $type

One of the ValidForm::VFORM_ field types

array $validationRules

Standard validation rules array

array $errorHandlers

Standard error handler array

array $meta

Standard meta array

Returns

null|\ValidFormBuilder\Element

Returns an instance of the field type generated

addParagraph()

addParagraph(string  $strBody, string  $strHeader = "", array  $meta = array()) : \ValidFormBuilder\Paragraph

Add paragraph to Area

Example

$objArea->addParagraph(
    "Cool paragraph with lots of text in it. It's an absolute must-read.",
    "You must read this"
);

Parameters

string $strBody

The paragraph's body text

string $strHeader

The paragraph's optional header

array $meta

Standard meta array

Returns

\ValidFormBuilder\Paragraph

addMultiField()

addMultiField(string  $label = null, array  $meta = array()) : \ValidFormBuilder\MultiField

Add a multifield to the Area

Parameters

string $label

The multifield's label

array $meta

The standard meta array

Returns

\ValidFormBuilder\MultiField

toHtml()

toHtml(boolean  $submitted = false, boolean  $blnSimpleLayout = false, boolean  $blnLabel = true, boolean  $blnDisplayErrors = true) : string

Render the Area and it's children with toHtml()

Parameters

boolean $submitted

Define if the area has been submitted and propagate that flag to the child fields

boolean $blnSimpleLayout

Only render in simple layout mode

boolean $blnLabel
boolean $blnDisplayErrors

Display generated errors

Returns

string —

Rendered Area

hasContent()

hasContent(integer  $intCount) : boolean

Verify if any of the child fields in this area has submitted data

Parameters

integer $intCount

Optional counter to do the same for dynamic multifields.

Returns

boolean —

True if area childs contain submitted data, false if not.

isActive()

isActive() : boolean

Check if this is an active area

Returns

boolean

isValid()

isValid() : boolean

Verify if all submitted data of this area and it's children is valid.

Returns

boolean

getDynamicCount()

getDynamicCount() : integer

Get the dynamic counter value if this is an dynamic area.

Returns

integer —

Defaults to 0 if not an dynamic area. If dynamic, this returns the number of times the user duplicated this area.

getValue()

getValue(string  $intCount = null) : boolean

If this is an active area, this will return the value of the checkbox.

Parameters

string $intCount

Dynamic counter, defaults to null

Returns

boolean

getId()

getId() : string

Return the Area name

Returns

string

getType()

getType() : \ValidFormBuilder\number

For API compatibility, we've added the placeholder method 'getType'

Returns

\ValidFormBuilder\number

hasFields()

hasFields() : boolean

Check if this area contains child objects.

Returns

boolean —

True if fields collection > 0, false if not.

getLabel()

getLabel() : string

Returns the value of $__label

Returns

string

setLabel()

setLabel(string  $value) : void

Overwrites the value of $__label

Parameters

string $value

getRequiredStyle()

getRequiredStyle() : string

Returns the value of $__requiredstyle

Returns

string

setRequiredStyle()

setRequiredStyle(string  $value) : void

Overwrites the value of $__requiredstyle

Parameters

string $value

getId()

getId() : string

Returns the value of $__id

Returns

string

setId()

setId(string  $value) : void

Overwrites the value of $__id

Parameters

string $value

setName()

setName(string  $value) : void

Overwrites the value of $__name

Parameters

string $value

getParent()

getParent() : \ValidFormBuilder\Base

Returns the value of $__parent

Returns

\ValidFormBuilder\Base

setParent()

setParent(\Base  $value) : void

Overwrites the value of $__parent

Parameters

\Base $value

setConditions()

setConditions(array  $value) : void

Overwrites the value of $__conditions

Parameters

array $value

getTipMeta()

getTipMeta() : array

Returns the value of $__tipmeta

Returns

array

getDynamicLabelMate()

getDynamicLabelMate() : array

Returns the value of $__dynamiclabelmeta

Returns

array

getDynamicRemoveLabelMate()

getDynamicRemoveLabelMate() : array

Returns the value of $__dynamicremovelabelmeta

Returns

array

getMagicMeta()

getMagicMeta() : array

Returns the value of $__magicmeta

Returns

array

getMagicReservedMeta()

getMagicReservedMeta() : array

Returns the value of $__magicreservedmeta

Returns

array

getReservedFieldMeta()

getReservedFieldMeta() : array

Returns the value of $__reservedfieldmeta

Returns

array

getReservedLabelMeta()

getReservedLabelMeta() : array

Returns the value of $__reservedlabelmeta

Returns

array

getReservedMeta()

getReservedMeta() : array

Returns the value of $__reservedmeta

Returns

array

hasFields()

hasFields() : boolean

Returns if this element has any child fields

Returns

boolean

getFields()

getFields() : \ValidFormBuilder\Collection

Returns a collection of child fields

Returns

\ValidFormBuilder\Collection