WASHINGTON—President Trump vetoed a congressional resolution disapproving of his national-emergency declaration, asserting his authority to tap funding for barriers on the southern border even though the money hadn’t been appropriated by lawmakers.

“Congress has the freedom to pass this resolution, and I have the duty to veto it,” Mr. Trump said in the Oval Office on Friday. “And I’m very proud to veto it.”

He...