A nie prościej dodać do inputów required?
Co do drugiego:
var inputList = document.getElementById("form").childNodes;
var isCorrect = true;
inputList.forEach( ( input ) => {
if (Number.isNaN(input.value){
isCorrect = false;
}
});
if (!isCorect){
doSomething();
}
A jak chcesz, żeby coś dokładnie się zdarzyło to możesz zrobić coś takiego:
http://html5doctor.com/css3-pseudo-classes-and-html5-forms/