Select :: extractValue: Bitrix method

      
<?php 
//  Bitrix\Bizproc\BaseType\Select :: extractValue()
//  /dist/bitrix/modules/bizproc/lib/basetype/select.php:347

    
protected static function extractValue(FieldType $fieldType, array $field, array $request)
    {
        
$value parent::extractValue($fieldType$field$request);
        
$options = static::getFieldOptions($fieldType);
        
$showError false;

        if (
$value === '' || sizeof($options) <= 0)
        {
            
$value null;
        }
        elseif (
$value !== null && !isset($options[$value]))
        {
            
$value null;
            
$showError true;
        }

        if (
$showError)
        {
            static::
addError(array(
                
'code' => 'ErrorValue',
                
'message' => Loc::getMessage('BPDT_SELECT_INVALID'),
                
'parameter' => static::generateControlName($field),
            ));
        }

        return 
$value;
    }