Grails 检查电子邮件是否存在

Grails 检查电子邮件是否存在,grails,groovy,Grails,Groovy,我的模型包含以下内容: String username 在UserController.groovy中,我有一个名为checkIfEmailExist的方法。当用户键入一个电子邮件地址时,它会接收并检查该电子邮件是否可用 def checkIfEmailExist() { if(User.get(params.username)!=null && User.get(params.username).username==email){ println "FOUND EMAIL

我的模型包含以下内容:

String username
UserController.groovy
中,我有一个名为
checkIfEmailExist
的方法。当用户键入一个电子邮件地址时,它会接收并检查该电子邮件是否可用

def checkIfEmailExist() {

if(User.get(params.username)!=null && User.get(params.username).username==email){

println "FOUND EMAIL"



} else {

println "NOT FOUND EMAIL"

}


}
代码崩溃了。我认为这是一个错误


User.get(params.username)
get
用于按ID进行查找,如果要根据其他属性查找域对象,则需要使用
findBy
动态查找器

def user = User.findByUsername(params.username)

get
用于按ID查找,如果要根据其他属性查找域对象,则需要使用
findBy
动态查找器

def user = User.findByUsername(params.username)

如果您只需要知道是否存在具有此电子邮件地址的用户,我会这样做

if (User.countByUsername(params.username)) {
  println "FOUND EMAIL"
} else {
  println "NOT FOUND EMAIL"
}

或者,您可以使用
User.findByUsername
,但效率较低,因为您不必要地返回
User
实例。

如果您只需要知道是否存在具有此电子邮件地址的用户,我会这样做

if (User.countByUsername(params.username)) {
  println "FOUND EMAIL"
} else {
  println "NOT FOUND EMAIL"
}
或者,您可以使用
User.findByUsername
,但效率较低,因为您不必要地返回
User
实例