Файловый менеджер - Редактировать - /home/pimjdymy/public_html/safrandsi/vendor/yiisoft/yii2/validators/FilterValidator.php
Назад
<?php /** * @link https://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license https://www.yiiframework.com/license/ */ namespace yii\validators; use yii\base\InvalidConfigException; use yii\helpers\Json; /** * FilterValidator converts the attribute value according to a filter. * * FilterValidator is actually not a validator but a data processor. * It invokes the specified filter callback to process the attribute value * and save the processed value back to the attribute. The filter must be * a valid PHP callback with the following signature: * * ```php * function foo($value) { * // compute $newValue here * return $newValue; * } * ``` * * Many PHP functions qualify this signature (e.g. `trim()`). * If the callback function requires non-null argument (important since PHP 8.1) * remember to set [[skipOnEmpty]] to `true` otherwise you may trigger an error. * * To specify the filter, set [[filter]] property to be the callback. * * @author Qiang Xue <qiang.xue@gmail.com> * @since 2.0 */ class FilterValidator extends Validator { /** * @var callable the filter. This can be a global function name, anonymous function, etc. * The function signature must be as follows, * * ```php * function foo($value) { * // compute $newValue here * return $newValue; * } * ``` */ public $filter; /** * @var bool whether the filter should be skipped if an array input is given. * If true and an array input is given, the filter will not be applied. */ public $skipOnArray = false; /** * @var bool this property is overwritten to be false so that this validator will * be applied when the value being validated is empty. */ public $skipOnEmpty = false; /** * {@inheritdoc} */ public function init() { parent::init(); if ($this->filter === null) { throw new InvalidConfigException('The "filter" property must be set.'); } } /** * {@inheritdoc} */ public function validateAttribute($model, $attribute) { $value = $model->$attribute; if (!$this->skipOnArray || !is_array($value)) { $model->$attribute = call_user_func($this->filter, $value); } } /** * {@inheritdoc} */ public function clientValidateAttribute($model, $attribute, $view) { if ($this->filter !== 'trim') { return null; } ValidationAsset::register($view); $options = $this->getClientOptions($model, $attribute); return 'value = yii.validation.trim($form, attribute, ' . Json::htmlEncode($options) . ', value);'; } /** * {@inheritdoc} */ public function getClientOptions($model, $attribute) { $options = []; if ($this->skipOnEmpty) { $options['skipOnEmpty'] = 1; } return $options; } }
| ver. 1.4 |
Github
|
.
| PHP 8.2.30 | Генерация страницы: 0.01 |
proxy
|
phpinfo
|
Настройка