Yii2 - 如何在输入字段上添加自定义错误消息

Yii2 - How to add custom error messages on input fields

在我的数据库中,我将 'password' 命名为 'password_hash',因此我会自动在错误消息中得到 'password_hash',即使我将标签更改为 'Current password'。

示例:

我想要的是:

所以基本上我所做的就是添加

'message' => 'Current password cannot be blank.' 

遵守我的规则。

确保分隔正确的规则,这样您就不会在多个字段中收到该消息,因为它没有意义。还要确保将其添加到 'required' 规则中,除非您希望该消息在它是另一个规则时显示..

我希望这对你们有所帮助,因为我花了太多时间寻找它。

根据您的描述,您似乎更改了表单中显示的标签,而不是属性标签。

无需重复错误消息并将属性分隔为不同的规则,对于大多数情况,在 attributeLabels() 方法中更改属性标签就足够了。

这样,如果您更改应用程序的语言,它将显示正确的错误消息。

在您的模型中:

public function attributeLabels()
{
    return [
        ...
        'password_hash' => 'Current password',
    ];
}

所有默认验证器都从该部分获取属性标签,如果未定义它将转换为"Password Hash"。