A JobPosting rich result needs a title, description, date posted, and a named hiring organization at minimum — plus a way to place the job, which is either a physical jobLocation address or, for remote roles, a jobLocationType of TELECOMMUTE. Everything else — employment type, salary, an expiration date, an organization logo — is optional and improves how the listing filters and displays, but won't by itself block the rich result from appearing.
Keep the markup in sync with the live posting: if the role closes, is filled, or its details change, update or remove the page (and its schema) so search engines aren't left pointing at content that no longer matches.