1
我有一個自定義驗證器,其中驗證控件的腳本是客戶端JavaScript。ASP.NET自定義驗證器 - Page.Validate(「groupName」)不會觸發?
在我的網站後面的VB代碼我打電話Page.Validate("groupName")
,但我的驗證腳本根本沒有被解僱。我在JavaScript中放置了一個斷點,但它甚至沒有觸及我的驗證腳本。而當我在非自定義驗證器上使用相同的函數時,它可以工作。
我想通過Page.Validate("groupName")
在我的VB後面的代碼中調用我的客戶端驗證腳本是不可能的。我絕對需要服務器端驗證功能嗎?
下面是一些代碼:
<asp:CustomValidator ID="ValidateTxt" runat="server"
ClientValidationFunction="validateTxt"
ControlToValidate="txtBox"
Display="Dynamic"
ValidationGroup="group1">
</asp:CustomValidator>
<script type="text/javascript" language="javascript" >
function validateFinHeight(source, arguments)
{
if(arguments.Value % 2 == 0){
arguments.IsValid = true;
}
}
</script>
VB代碼背後:
Protected Sub cbo(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbo.SelectedIndexChanged
Page.Validate("group1")
End Sub
的Page.Validate("group1")
不叫我的JavaScript函數。
是的,你絕對需要服務器端的驗證,因爲用戶可以繞過你的JavaScript檢查,並提交他們想要的任何表單。唯一確定的方法是在服務器端進行檢查。 – Greg 2011-01-05 20:20:06
我並不擔心用戶繞過,因爲這是一個簡單的Web應用程序,只會在我工作的公司中大約3-4人使用。它不會向公衆開放,人們將會嘗試這種骯髒的東西。 – Johnrad 2011-01-05 20:29:44