Percebi que se o email for modificado durante a execução ele não é verificado e passa mesmo estando incompleto
data class Player(var nome:String, private var emailInicial:String) {
    var email:String = emailInicial
        set(value) {
            field = value
            validarEmail()
        }
Essa foi minha solução, tem alguma melhor ou tem algo a melhorar (dúvida no private no construtor primário)
 
            