初期値があると必須バリデーションが上手く動かない
初期値があると、初期値を消したときに「必須です」メッセージが表示されません。
対策
空になったタイミングで$('form').validate().form()を実行してやれば動きます。
$('form') .on('keyup', ':text', function () { if ($(this).val() === '') { $('form').validate.()form(); } });
changeイベントは拾いません。
changeイベントは拾っていません。JavaScriptで値を設定するだけでは「必須です」メッセージは消えません。
対策
値を変えた時にkeyupイベントを送れば動きます。
$(':text') .on('change', function (event) { validate.element(event.target); });