如何更改 buildRules [CakePHP 3] 中的消息?
How to change the message in buildRules [CakePHP 3]?
下面的函数用于确保来自表单的电子邮件是唯一的,如果它已被使用,则会显示一条消息。我想更改此消息。
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->isUnique(['username']));
$rules->add($rules->isUnique(['email']));
return $rules;
}
我这样试过:
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->isUnique(['username']));
$rules->add($rules->isUnique(['email']),
['errorField' => 'email', 'message' => 'Este email já encontra-se em uso.']
);
return $rules;
}
有效,但同时显示了两条消息,默认消息和我的消息。
使用这种添加独特规则的方式时,您必须将消息传递给 isUnique()
调用的第二个参数,即
$rules->add($rules->isUnique(['email'], 'Este email já encontra-se em uso.'));
那是因为您在技术上以这种方式创建嵌套的可调用文件($rules->isUnique()
创建一个,而 $rules->add()
创建另一个),并且在 add()
调用中定义选项将导致它们在外部可调用对象中设置,最终导致设置两条消息,一个是您为外部可调用对象设置的,另一个是来自内部可调用对象的默认消息。
基本上上面就是shorthand for
$rules->add(new \Cake\ORM\Rule\IsUnique(['email']), [
'errorField' => 'email',
'message' => 'Este email já encontra-se em uso.'
]);
另见
下面的函数用于确保来自表单的电子邮件是唯一的,如果它已被使用,则会显示一条消息。我想更改此消息。
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->isUnique(['username']));
$rules->add($rules->isUnique(['email']));
return $rules;
}
我这样试过:
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->isUnique(['username']));
$rules->add($rules->isUnique(['email']),
['errorField' => 'email', 'message' => 'Este email já encontra-se em uso.']
);
return $rules;
}
有效,但同时显示了两条消息,默认消息和我的消息。
使用这种添加独特规则的方式时,您必须将消息传递给 isUnique()
调用的第二个参数,即
$rules->add($rules->isUnique(['email'], 'Este email já encontra-se em uso.'));
那是因为您在技术上以这种方式创建嵌套的可调用文件($rules->isUnique()
创建一个,而 $rules->add()
创建另一个),并且在 add()
调用中定义选项将导致它们在外部可调用对象中设置,最终导致设置两条消息,一个是您为外部可调用对象设置的,另一个是来自内部可调用对象的默认消息。
基本上上面就是shorthand for
$rules->add(new \Cake\ORM\Rule\IsUnique(['email']), [
'errorField' => 'email',
'message' => 'Este email já encontra-se em uso.'
]);
另见