验证 – 如何更改buildRules [CakePHP 3]中的消息?
发布时间:2020-12-13 21:54:08 所属栏目:PHP教程 来源:网络整理
导读:下面的功能是为了确保来自表单的电子邮件是唯一的,如果它已经在使用中,则会显示一条消息.我想改变这个消息. public function buildRules(RulesChecker $rules){ $rules-add($rules-isUnique(['username'])); $rules-add($rules-isUnique(['email'])); return
下面的功能是为了确保来自表单的电子邮件是唯一的,如果它已经在使用中,则会显示一条消息.我想改变这个消息.
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.')); 这是因为你在技术上以这种方式创建嵌套的callable($rules-> isUnique()创建一个,$rules-> add()创建另一个),并且在add()调用中定义选项将导致它们在外部可调用中设置,最后导致设置两个消息,即为外部可调用设置的消息,以及内部可调用的默认消息. 基本上上面是简写 $rules->add(new CakeORMRuleIsUnique(['email']),[ 'errorField' => 'email','message' => 'Este email já encontra-se em uso.' ]); 也可以看看 > Cookbook > Database Access & ORM > Validation > Creating a Rules Checker (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |