Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Yii 2中验证之前/期间对表单数据运行函数_Php_Yii_Yii2 - Fatal编程技术网

Php 在Yii 2中验证之前/期间对表单数据运行函数

Php 在Yii 2中验证之前/期间对表单数据运行函数,php,yii,yii2,Php,Yii,Yii2,好的,例如,如果有人输入用户名,我想在验证之前或验证开始时(在我的rules方法中)将其改为小写,我该怎么做 我知道您可以使用trim进行类似的操作,例如: [['company_name', 'first_name', 'last_name', 'email', 'username', 'password', 'password2'], 'trim'] 但我想这不支持任何功能 因此,我想在用户名上运行strtolower函数,该怎么做?我是否需要在验证之前使用方法,或者我可以这样做 ['us

好的,例如,如果有人输入用户名,我想在验证之前或验证开始时(在我的
rules
方法中)将其改为小写,我该怎么做

我知道您可以使用trim进行类似的操作,例如:

[['company_name', 'first_name', 'last_name', 'email', 'username', 'password', 'password2'], 'trim']
但我想这不支持任何功能

因此,我想在用户名上运行strtolower函数,该怎么做?我是否需要在验证之前使用
方法,或者我可以这样做

['username', 'makeLower']

public function makeLower($attribute, $params) {                
    $this->$attribute = strtolower($this->$attribute);
}
你可以用一个

FilterValidator实际上不是验证器,而是数据处理器。信息技术 调用指定的筛选器回调以处理属性值 并将处理后的值保存回属性。过滤器必须是空的 具有以下签名的有效PHP回调:

function foo($value) {...return $newValue; }
许多PHP函数限定此签名(例如
trim()

function foo($value) {...return $newValue; }