//Code for wiring up unobtrusive client side validation. //Date comparison is done using Moment, but you can use whatever implementation you'd like (function ($) { jQuery.validator.addMethod("notequals", function (value, element, param) { if (!isNaN(parseFloat(param)) && !/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(param)) //regex only tests if it looks like a GUID, not if it is a valid GUID { if (element.classList.contains("datetimepicker-input")) return !moment(value).isSame(param); else return parseFloat(value) != parseFloat(param); } else return value != param; }); }); jQuery.validator.unobtrusive.adapters.addSingleVal("notequals", "val"); });