With HTML5, the following markup is just enough to get the browser handle input validation for one.
It will verify the input is matching an email address format as well as that it is actually provided:
<input id="email" name="email" type="email" placeholder="Email address" required/>
There is no need to hook on events, neither for the input box nor for the submit button, just fine.
I am looking for a way to decide whether browser already support this functionality or I should handle input validation myself.
I wonder if there is a way to get this straight forward, or shall I maintain a table of all possible brands-versions combinations and the supported flag.
As mentioned by @deceze, the detection technique is described in here and the tool is modernizr