【发布时间】:2015-05-06 19:31:28
【问题描述】:
在我的数据库中,我将“密码”命名为“密码哈希”,因此即使我将标签更改为“当前密码”,我也会在错误消息中自动获得“密码哈希”。
例子:
我想要的是:
【问题讨论】:
标签: validation label message yii2 rules
在我的数据库中,我将“密码”命名为“密码哈希”,因此即使我将标签更改为“当前密码”,我也会在错误消息中自动获得“密码哈希”。
例子:
我想要的是:
【问题讨论】:
标签: validation label message yii2 rules
所以基本上我所做的只是添加
'message' => 'Current password cannot be blank.'
遵守我的规则。
确保您分隔了正确的规则,这样您就不会在多个字段中收到该消息,因为它没有意义。还要确保将其添加到 'required' 规则中,除非您希望该消息在其他规则时显示..
我希望这对你们有帮助,因为我花了太多时间寻找它。
【讨论】:
根据您的描述,您似乎更改了表单中显示的标签,而不是属性标签。
不需要复制错误信息并将属性分隔到不同的规则中,对于大多数情况,在attributeLabels() 方法中更改属性标签就足够了。
这样,如果您更改应用程序的语言,它将显示正确的错误消息。
在您的模型中:
public function attributeLabels()
{
return [
...
'password_hash' => 'Current password',
];
}
所有默认验证器都使用此部分的属性标签,如果未定义,则将其转换为“密码哈希”。
【讨论】: