I need to define custom HTML5 form validation styles in my application's design system like Bootstrap. But I don’t know how to apply :invalid state to an <input type="range">.
console.log($('#test').val());
$('#test').val(50);
console.log($('#test').val());
.valid-message,
.invalid-message {
display: none;
}
.input:valid ~ .valid-message {
display: block;
color: green;
}
.input:invalid ~ .invalid-message {
display: block;
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="control">
<input type="range" class="input range" id="test" min="1" max="20">
<p class="valid-message">This is valid</p>
<p class="invalid-message">This is invalid</p>
</div>
Is there invalid state of Input range? How can I reproduce that state?