Various key points to look at:
- First, Validate the
params
to see whetheruserName
ans/oruserNumber
is passed, ans send back a message to user to provide valid information. By this way you are eradicating the option of user input error. - Using Criteria returns back a list of domain objects. You have to iterate over the list to get the
userName/userNumber
. - Once you have a valid user list you should be able to validate the
userName/userNumber
accordingly for each user object.
Here is a sample:
def list(params) {
def userNumber = params.searchUserNumber
def username = params.searchUsername
//Validate whether params are NULL or valid. Send back error message to user if validation fails
validateParams()
uerSearchCri = User.createCriteria()
def userList = userSearchCri.list() {
or{
eq('username', username)
eq('userNumber', userNumber)
}
}
if(userList){
userList.each{user->
if(!user.userName || !user.userNumber){
//Send error back if needed
}
}
}
}