Barack Obama hits out at Donald Trump, warning 'American values' are at stake