表单规则不起作用

My controller:

public function rules()
{
    return [
        [['text'], 'required', 'message' => 'Fill in this field'],
        ['text', 'string', 'min' => 6, 'message' => 'Too short message'],
        ['text', 'validateUser']
    ];
}
public function validateUser($attribute)
{
    if (Yii::$app->user->isGuest)
        $this->addError($attribute, 'You must be logged in');
}

I have 2 problems:

1) Instead of the message 'Too short message' i see 'text field should contain at least 6 characters.'

2) validateUser not added a warning 'You must be logged in'

Ad1. It should be ['text', 'string', 'min' => 6, 'tooShort' => 'Too short message'],

Ad2. Are you sure this condition is true? Can you use die() here or something like that? Or this validation rule isn't even activated?

For validateUser

public function rules()
{
    return [
        [['text'], 'required', 'message' => 'Fill in this field'],
        ['text', 'string', 'min' => 6, 'message' => 'Too short message'],
        ['text', 'required', 'when' => function($model){
              return (Yii::$app->user->isGuest);
            },'message'=>'You must be logged in'],
    ];
}