Как определить, какой RequiredFieldValidator не удался - PullRequest
1 голос
/ 16 октября 2008

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

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

Ответы [ 3 ]

2 голосов
/ 16 октября 2008

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

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 голос
/ 16 октября 2008

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

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

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

0 голосов
/ 16 октября 2008

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

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