Проверка Silverlight с помощью DataAnnotation - PullRequest
0 голосов
/ 25 января 2011

Моя проблема заключается в следующем:

У меня есть ChildWindow, который получает редактируемый объект.

Я использую атрибуты DataAnnotation, чтобы установить правила проверки.

МойУ сущности есть свойство Name, и к нему применяется обязательный атрибут.

Если я изменяю существующую сущность и очищаю текстовое поле, связывающее свойство Name, я получаю ошибку проверки того, что поле имени является обязательным.

Но когда я добавляю новую сущность и свойство Name равно null, проверка не работает.

Я устанавливаю для свойства Name значение String.Empty в конструкторе класса и отображаюОбъект в дочернем окне, в котором отображается ошибка проверки в текстовом поле.

Какое лучшее решение?

Могу ли я установить кнопку, которая показывает дочернее окно, чтобы не запускать проверку?

В Asp.NET элемент управления кнопки имеет свойство IsCausesValidation, которое имеет значение false, кнопка не запускает проверку.

Заранее спасибо l,

1 Ответ

0 голосов
/ 07 февраля 2011

Чего ты пытаешься достичь?Исключение проверки не будет выдано до тех пор, пока вы на самом деле не установите свойство через установщик базового связанного объекта.Вы хотите, чтобы все ошибки проверки отображались, когда пользователь впервые вводит форму ввода данных?Вы используете форму данных?Если это так, вы сможете проверить всю форму во время сохранения данных, например,

    private void OKButton_Click(object sender, RoutedEventArgs e)
    {
        bool valid = MyDataForm.ValidateItem();
        if (valid)
        {
            MyDataForm.CommitEdit(true);
            this.DialogResult = true;
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...