0
你可以使用一個常規的RequiredValidator來表示一個文本框,但不能用於標籤,所以我添加了一個自定義驗證器並使用JQuery函數來驗證它。所有工作正常,但我想能夠單元測試它。如何在自定義驗證程序中使用QUnit測試標籤?
我需要什麼樣的變化做,來測試這個功能:
function LabelRequired_Validate(sender, args) {
if (sender == $("#ctl00_cphMain_Agent2_Agent_Agent_LabelValidator1")[0]) {
if ($("#ctl00_cphMain_Agent2_Agent_Agent_ValueLabel")[0].innerText.length > 0) {
args.IsValid = true;
} else {
args.IsValid = false;
}
} else {
args.IsValid = true;
}
}
與此QUnit測試(或類似):
test("Servicing_Topup_Branch_label_is_valid", function() {
var span = $("span[id$=ValueLabel]");
$(span).text(10 + " characters long");
var args = { IsValid: true, Value: "" };
LabelRequired_Validate($(span), args)
ok(args.IsValid == true, "Validation Passed!");
});
這裏是我的自定義的驗證:
<asp:CustomValidator ID="LabelValidator1" runat="server" ErrorMessage="<%$Resources:Main,RequiredFieldWarning %>"
Display="Dynamic" ClientValidationFunction="LabelRequired_Validate" EnableViewState="False"
class="alertMsg">
</asp:CustomValidator>