gui: move validation to separate action