Заставить валидатор работать из внутреннего кода - PullRequest
0 голосов
/ 03 апреля 2012

Я добавил валидатор регулярных выражений, но он ничего не показывает на странице, в основном валидация выполняется где-то еще, мне просто нужно было запустить.Вот валидатор

    <div>
       <asp:RequiredFieldValidator 
        ID="RegularNoCardAccepted" runat="server"    
        ControlToValidate="txtCreditCardNumber" 
        CssClass="Error" Display="Dynamic">
        </asp:RequiredFieldValidator>
    </div> 

А вот как я пытаюсь запустить, на самом деле мне не нужно проверять регулярное выражение, я просто не уверен, как заставить его всплыть, когда оносоответствует этому условию

  if (CardNotAccepted())
        {
  //Find the validator located somewhere in the master page.
  RequiredFieldValidator reqVal = 
  FindControlRecursive(this.Page.Master, "RegularNoCardAccepted") 
  as RequiredFieldValidator;

                    if (reqVal != null)
                    {
                        //The code goes through here but it never shows.
                        reqVal.Enabled = true;
                        reqVal.Text = "Credit Card Type is not accepted";
                        reqVal.Visible = true;
                        reqVal.Validate();
                    }
                    return;
                }

1 Ответ

1 голос
/ 03 апреля 2012

ASP.NET FieldValidators работают автоматически (при условии, что для свойства Enabled установлено значение true) для событий POST. Вот пример использования: http://www.w3schools.com/aspnet/showasp.asp?filename=demo_reqfieldvalidator

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...