2008-10-16 2 views
1

Быстрый вопрос:RequiredFieldValidator Help

У меня есть несколько RequireFieldValidators на моей странице aspx.

На бэкэнде (C#) Я хочу, чтобы определить, какой элемент управления определенно недействителен, поэтому я могу применить стиль к этому элементу управления. Я использую метод Page.IsValid, чтобы проверить, прошла ли общая страница проверки, но мне нужно знать, какой именно элемент управления прошел.

Спасибо.

ответ

2

Как уже упоминалось, вам необходимо закодировать коллекцию валидатора страницы и проверить их состояния. MSDN has examples here.

If (Me.IsPostBack) Then 
Me.Validate() 
If (Not Me.IsValid) Then 
    Dim msg As String 
    ' Loop through all validation controls to see which 
    ' generated the error(s). 
    Dim oValidator As IValidator 
    For Each oValidator In Validators 
     If oValidator.IsValid = False Then 
      msg = msg & "<br />" & oValidator.ErrorMessage 
     End If 
    Next 
    Label1.Text = msg 
End If 

End If

1

Все валидаторы добавляются в ValidatorCollection страницы (property Page.Validators).

Вы можете просмотреть эту коллекцию для проверки каждого элемента управления вручную.

Вызов метода IValidator.Validate();

0

Из памяти после вызова Page.Validate() вы можете проверить отдельные валидаторы, чтобы увидеть, какие из них действительны, используя IsValid на валидаторе.

Смежные вопросы