Как я могу использовать пользовательский валидатор в ASP.NET
Привет ,
Я пытаюсь использовать CustomValidator для проверки электронной почты.Я попробовал использовать как серверную, так и клиентскую валидацию.
Но мой код не попадает под удар.
Пожалуйста, проводите.Спасибо.
Что я уже пробовал:
<pre>asp:TableRow> <asp:TableCell>Email</asp:TableCell> <asp:TableCell> <asp:TextBox runat="server" ID="email" CausesValidation="true"></asp:TextBox> <asp:RequiredFieldValidator runat="server" ID="emailvalidator" ControlToValidate="email" ErrorMessage="Email required" style="color:red"></asp:RequiredFieldValidator> <asp:CustomValidator runat="server" ControlToValidate="email" ErrorMessage="Valid Email required" ValidateEmptyText="True" ClientValidationFunction="validatemail" EnableClientScript="true" OnServerValidate="email_serverValidation"></asp:CustomValidator> </asp:TableCell> </asp:TableRow>
<pre> <script type="text/javascript"> function validatemail(sender,args) { debugger; var val = args.Value; var regex = /^[a-zA-Z0-9]{1-10}@[a-zA-Z]{1-10}.(com|org)$/; if(regex.test(val)) { args.IsValid = true; } } </script>
protected void email_serverValidation(object sender, ServerValidateEventArgs e) { System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex("^([a-zA-Z0-9]+)@[a-zA-Z]{1-10}.(com|org)$"); if (r.IsMatch(email.Text)) { e.IsValid = true; } }
[no name]
С какой проблемой вы здесь столкнулись?
Shivangi Rawat
Код не получает удара.
[no name]
Какой код не попадает под удар?
Shivangi Rawat
Ни функция в onservervalidate, ни функция ClientValidationFunction
[no name]
Я старался и не видеть никаких проблем в вашем коде. Как вы проверяете код. если вы хотите проверить содержимое текстового поля, это должно произойти как-то вроде обратной передачи, например, при нажатии кнопки или изменении текста
Shivangi Rawat
Хорошо, у меня есть кнопка для отправки данных. Но для этого у меня нет события onclick.- А это нужно ?
[no name]
Он должен иметь какое-то событие, запускающее Ваш контроль проверки, чтобы проверить ваши входные данные...
Shivangi Rawat
Теперь он работает..Спасибо
Richard Deeming
Ты же знаешь, что есть RegularExpressionValidator[^] который обеспечивает именно тот тип проверки, который вы пытаетесь сделать, не так ли? :)
Shivangi Rawat
Да, я уже использовал его для проверки какого-то другого поля ввода.:-)