如果我尝试使用官方文档中的示例来使用匿名函数创建内联验证器,那么当我尝试保存记录时,我会收到一个关于第三个参数的抱怨错误。但当我把它忘了的时候它就消失了。我用错样本了吗?下面是代码示例:
// an inline validator defined as an anonymous function
['token', function ($attribute, $params, $validator) {
if (!ctype_alnum($this->$attribute)) {
$this->addError($attribute, 'The token must contain letters or digits.');
}
}],以下是基本错误:缺少app\models\MyModel::app\models{闭包}()的参数3
只是想知道我是不是用错了。
http://www.yiiframework.com/doc-2.0/guide-input-validation.html#inline-validators在这里输入链接描述
发布于 2017-02-23 01:47:59
我在我最初发布的链接下面读到它是在2.0.11中添加的一个新参数(我运行的是2.0.10)。
注意:从2.0.11版本开始,您可以使用yii\validators\InlineValidator::addError()来添加错误。这样,就可以立即使用yii\i18n\I18N::format()对错误消息进行格式化。在错误消息中使用{attribute}和{value}引用属性标签(不需要手动获取)并相应地引用属性值:
$validator->addError($this, $attribute, 'The value "{value}" is not acceptable for {attribute}.');
https://stackoverflow.com/questions/42405260
复制相似问题