Shivangi Rawat Ответов: 0

Как я могу использовать пользовательский валидатор в 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

Да, я уже использовал его для проверки какого-то другого поля ввода.:-)

0 Ответов