JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js"></script>
<form>
<label>field one:
<input name="one" type="text" class="date startdate before-enddate">
</label>
<label>field two:
<input name="two" type="text" class="date enddate after-startdate">
</label>
</form>
CSS
label {
display: block;
}
label label.error {
display: inline-block;
color: red;
}
input {
margin: 0 1em 0.5em 0;
}
JavaScript
$.validator.addMethod("beforeEndDate", function(value, element, params) {
var validator = $(element).closest('form').validate();
validator.element(params);
return true;
}, "starting date must be before end date");
$.validator.addMethod("afterStartDate", function() {
return Date.parse($('.startdate').val()) < Date.parse($('.enddate').val());
}, "end date must be after start date");
$.validator.addClassRules({
'before-enddate': {
beforeEndDate: '.enddate'
},
'after-startdate': {
afterStartDate: '.startdate'
}
});
$('form').validate();