加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

验证 – 如何更改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
> Cookbook > Database Access & ORM > Validation > Creating Unique Field Rules

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读