Checks if dependencies between given items are matched

category Formagic
package Rule
author Florian Sonnenburg
copyright Copyright (c) 2007-2011 Florian Sonnenburg
license New BSD License
version $Id: ItemDependency.php 169 2012-05-06 20:16:16Z meweasle $

 Methods

Constructor

__construct(array $arguments) 
Inherited

The default error message that is displayed if the rule is violated can be overwritten by $errorMessage.

see \self::_init()
inherited_from \Formagic_Rule_Abstract::__construct()

Parameters

$arguments

array

The rule options.

Returns translated error message of rule

getMessage() : string
Inherited

inherited_from \Formagic_Rule_Abstract::getMessage()

Returns

stringMessage string

Returns rule type identification string.

getName() : string
Inherited

inherited_from \Formagic_Rule_Abstract::getName()

Returns

stringThe rule name

Sets the error message property.

setMessage(mixed $message) : \Formagic_Rule_Abstract
Inherited

Usually a rule will have one error message string that is used if the validation fails. If neccessary, Formagic_Rule_Abstract::_errorMessage can hold other variables, eg. an array of error messages for different outcomes of the validation process.

Implements a fluent interface pattern.

see \Formagic_Rule_Abstract::__construct()
inherited_from \Formagic_Rule_Abstract::setMessage()

Parameters

$message

mixed

The error message value.

Returns

Checks if given item's value matches the specified requirements.

validate(string $value) : boolean

Subclasses have to implement their behavior here.

Parameters

$value

string

Value to be checked

Returns

booleanTrue if conditions are matched

Defines dependent items and validate condition.

_init(array $arguments) : void

Supported keys:

item:
Dependent item
condition:
Dependency condition. One of the constants Formagic_Rule_ItemDependency::COND_VALUE_EQUALS, Formagic_Rule_ItemDependency::COND_VALUE_NOT_EQUALS
requirement:
Required value the dependent item is checked against with the specified condition

Scenario: Given item $item shall be valid if dependent item $dep has a value of 1.

$arguments = array(
     ['item'] => $dep,
     ['condition'] => Formagic_Rule_ItemDependency::COND_VALUE_EQUALS,
     ['requirement'] => 1,
);

Parameters

$arguments

array

Rule options.

Exceptions

\Formagic_Exception If key "item", "condition" or "requirement" is not provided or has invalid value

Checks if value is not entered by a user or if the field has not been assigned to the form.

_isNoUserValue(\$value $value) : boolean
Inherited

The value 0 (zero) for example could be something the user entered willingly and would be skipped from rule checks when using empty().

inherited_from \Formagic_Rule_Abstract::_isNoUserValue()

Parameters

$value

\$value

mixed Value to be checked

Returns

boolean

 Properties

 

Check condition

$_condition : integer

 

Items the validity of this item is dependent on

$_item : \Formagic_Item_Abstract

 

Default message

$_message : string

 

Required item value

$_requirement : mixed

 

Rule type identifier.

$_name : string
Inherited

inherited_from \Formagic_Rule_Abstract::$$_name

 Constants

 

Condition: Positive value match on requirement ("value is ...")

COND_VALUE_EQUALS 

 

Condition: Negative value match on requirement ("value is not ...")

COND_VALUE_NOT_EQUALS 

 

Reuqirement: Dependent item has to have any value

VALUE_ANY 

 

Requirement: Dependent item has to have no value

VALUE_NONE 

 

Requirement: Either parent item value or dependent item value NOT YET IMPLEMENTED

VALUE_XOR 

todo Implement Formagic_Rule_ItemDependency::VALUE_XOR