In case you ever don't care how the textarea was emptied, you can get this behavior with CSS alone:
#getcss:has(+ textarea:invalid) {
border: 1px solid red;
}
<div id="getcss">html contents</div>
<textarea name="new" id="message" required>text content</textarea>