我在MVC視圖上使用驗證。我在我的模型的其他屬性(如Required和Length)上使用了一些數據註釋,但我需要編寫一個如下所示的自定義驗證器來比較日期。自定義驗證在預期時不會觸發
$(document).ready(function(){
$.validator.addMethod("enddate", function(value, element) {
var startdatevalue = $('.startdate').val();
return Date.parse(startdatevalue) < Date.parse(value);
}, "End Date should be greater than Start Date.");
});
我加入了「結束日期」類文本框,因此驗證。但是,預期的驗證不會觸發。在我的場景中,它應該像其他驗證器一樣點擊提交按鈕時觸發,但是,當我從文本框中失去焦點時,自定義驗證器會觸發。當其他驗證發生時,有什麼辦法可以讓自定義驗證器觸發。此外,錯誤未在驗證摘要中報告,但驗證程序觸發並將文本框的顏色更改爲紅色。
提交表單時,可以調用$(form).valid()或$(form).validate()。 – Lamps
我覺得有些困惑。我說剩下的驗證器已經在點擊提交按鈕後開始了。這就是我想要這個自定義驗證器的行爲。然而,事實並非如此,它正在從文本框中失去焦點。謝謝。 – spaceagestereo
然後發佈您的完整代碼... – Lamps