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"。
在我的数据库中,我将 '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"。