The esc() helper is not intended for input sanitizing, but for escaping HTML, XML, CSS and JavaScript output.
There are other ways to check user input, like filter_var() etc.
You don’t want to escape and store something like <script>deleteContent()</script>. It makes no sense.
You want to block that entirely from getting through, right?
And if something does get through somehow, we can prevent it from doing harm on the frontend with esc().