Selectize.js and jQuery validation
The answers provided above aren't working with selectize.js v0.12.3 or greater.
That is happening due to the fact that the required attribute is removed from the select in refreshValidityState function - see https://github.com/selectize/selectize.js/commit/abc8a560a8335a017790c2a799925cc123670bfc
A quick fix for this is to add the selects that are required in the rules array of the validation options object.
Example:
var validator = $("#form").validate({
ignore: ':hidden:not([class~=selectized]),:hidden > .selectized, .selectize-control .selectize-input input',
rules: {
"select-name-here": "required",
"select-name-here2": "required"
}
});
The reason is that jQuery.validation plugin will ignore all hidden element when validating by default.
And Selectize.js will hide the given jQuery object, So your name field will run validate but person field will not.
Solution, please reference this gist: How to validate selectize.js comboboxes with the jQuery validation plugin