1
我有一個ASP.NET webform。除了自定義驗證器之外,我所有的驗證器都完成了他們的工作。據我所知我的代碼是正確的,但他沒有顯示錯誤。看起來他不會調用我的JavaScript函數或我的代碼隱藏功能。自定義驗證程序沒有顯示錯誤
這裏是我的代碼
的JavaScript
<%-- javascript--%>
<script type="text/javascript" >
function validateNaam(oSrc, args) {
var voorNaam = document.getElementById("Voornaam");;
var regex = /^[a-zA-Z ]{2,30}$/;
if (voorNaam.match(regex)) {
alert("Gelieve geen ongeldige tekens te gebruiken voor uw naam aub.");
return false;
}
}
</script>
APS自定義驗證
<%-- Gebruikersnaam label, textbox en validator --%> <asp:Label ID="Label1" runat="server" AssociatedControlID="Email">Voornaam: </asp:Label>
<asp:TextBox runat="server" ID="Voornaam" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="Voornaam"
CssClass="field-validation-error" ErrorMessage="The user name field is required." />
<%-- Custom validator voor naam --%>
<asp:CustomValidator ID="CustomValidatorGebruikersnaam" runat="server"
CssClass="field-validation-error" ErrorMessage="Uw naam bevat ongeldige tekens"
ValidationGroup="AllValidators" OnServerValidate="CustomValidatorGebruikersnaam_ServerValidate"
ClientValidationFunction="validateNaam" ControlToValidate="Voornaam">!!</asp:CustomValidator>
和代碼背後
protected void CustomValidatorGebruikersnaam_ServerValidate(object source, ServerValidateEventArgs args)
{
try
{
args.IsValid = Validatie.ControleerNaam(args.Value.ToString());
}
catch
{
args.IsValid = false;
}
}
我現在得到自定義驗證器的文本,如果它是錯誤的,但沒有出現錯誤消息或javascript警報 – Robin
你看過正則表達式驗證器嗎?我想你可以用它來代替。本文將舉例說明。 http://msdn.microsoft.com/en-us/library/ff650303.aspx – hutchonoid
非常感謝,我會看看這個 – Robin