Throwing data() in React Router v7 actions goes to ErrorBoundary instead of returning to the component. Changed validation errors to return directly so the login form can display them properly.