Unfortunately, you cannot invalidate a field using this function.
But what does invalidate () do?
function invalidate($field, $value = true) {
if (!is_array($this->validationErrors)) {
$this->validationErrors = array();
}
$this->validationErrors[$field] = $value;
}
It just sets the validationErrors of the model.
So, you can do the following in your controller (but I also urge you to move this check in the model):
$this->User->validationErrors[1]['description'] = 'Your error message';
The following code will invalidate the second description in the list.