Проверка Silverlight 3 с использованием Prism

Я разрабатываю приложение SL3 с Prism. Мне нужна поддержка проверки (как на уровне поля (в установщике связанного свойства), так и перед сохранением (уровень формы)), включая сводку проверки, отображаемую при нажатии кнопки сохранения.

Но образцы, которые я могу найти в гугле, - это либо SL3 с большим количеством кода в коде (очень неуклюжий и неприглядный), либо связанные с WPF.

Кто-нибудь знает эталонное приложение с некоторой реальной проверкой, в которую я могу заглянуть?

Привет, Али


person Ali Shafai    schedule 15.05.2009    source источник


Ответы (1)


В настоящее время их нет от Microsoft, но завтра я передам это команде PRISM, чтобы посмотреть, сможем ли мы получить базовый пример проверки формы в следующей версии PRISM.

При этом вы можете установить валидатор для каждой формы, который по существу проверяет каждое поле (семантическая и / или синтаксическая проверка) и, если все пройдет, вернет состояние истина / ложь.

Обычно я делаю это следующим образом: прикрепляю к своим командам метод «CanSave», то есть:

SaveOrderCommand = new DelegateCommand<object>(this.Save, this.CanSave);

private bool CanSave(object arg)
{
     return this.errors.Count == 0 && this.Quantity > 0;
}

Затем в this.CanSave я помещаю либо базовую проверку внутри этой кодовой базы, либо вызываю кучу других валидаторов в зависимости от контекста - некоторые из них будут использоваться всеми модулями (т.е. IsEmailValid будет один валидатор, который я помещаю в свой модуль инфраструктуры как синглтон и передаю в свою строку, в результате он будет истинным / ложным). Как только все они пройдут, убедитесь, что CanSave возвращает true. Если они потерпят неудачу, CanSave вернет False.

Теперь, если они потерпели неудачу, и вы хотите вызвать дружеское напоминание пользователю о том, что это не удалось, есть несколько методов, которые вы можете использовать здесь. Я обычно помечаю указанный элемент управления при проверке как "сбойный" .. (я написал свое собственное мнение, так что вам решать, какие инструменты вы можете использовать здесь - http://www.codeplex.com/SilverlightValidator неплохой вариант).

Теперь мне обычно нравится делать больше с формами, в которых есть проверка, не только путем выделения указанного элемента управления (красный прямоугольник, значок и т. Д.), Но и более подробного объяснения пользователю того, что от них требуется - таким образом, индивидуальный подход - это решение, которое я Сделала выбор.

В конце концов, вам придется проделать некоторую тяжелую работу, чтобы проверить вашу конкретную форму, но подумайте о способах повторного использования валидаторов там, где они имеют смысл (электронная почта, SSN и т. Д., Которые легко повторно использовать. использовать).

HTH?

Скотт Барнс, менеджер по продукту Rich Platforms - Microsoft.

person Scott Barnes    schedule 19.05.2009