British Prime Minister David Cameron has told lawmakers that his decision to veto a new EU treaty was in the national interest, but he insisted that membership of the bloc remains vital.