小编Roc*_*kyJ的帖子

Grails自定义验证 - 查询内部验证检查 - 更新时会发生什么?

我有一个自定义验证器,如 -

validator: { userEmail, userAccount ->

   if (userAccount.authenticationChannel == "ABC") {
      boolean valid = true;
      UserAccount.withNewSession {
      if (UserAccount.findByEmail(userEmail)){
         valid = false;
      }
      else if (UserAccount.findByName(userEmail)) {
         valid = false;
      }
Run Code Online (Sandbox Code Playgroud)

...

基本上,我需要根据某些条件进行一些验证,在我的验证中我需要执行查询.

但是,如果我这样做 -

def admin = new UserAccount(firstname:'Admin',email:'admin@example.com')


admin.save(flush:true)


admin.addToAuthorities("ADMIN").save(flush:true)
Run Code Online (Sandbox Code Playgroud)

它失败.

Grails正在运行验证,即使在更新时也是如此,因为电子邮件存在验证失败.如果我这样做,那会有什么不同

email {unique:true}

Grails说我不能写一个检查唯一性的自定义验证器.

grails

5
推荐指数
2
解决办法
1793
查看次数

标签 统计

grails ×1