Используя MVC2, у меня есть простой ViewModel, который содержит bool поле, которое представляется на представлении как флажок. Я хотел бы проверить это, пользователь установил флажок. [Необходимый] атрибут на моем ViewModel, кажется, не добивается цели. Я полагаю, что это вызвано тем, что поле формы флажка непроверенное на самом деле не передается назад во время POST, и поэтому проверка не работает на нем.
Существует ли стандартный способ обработать "требуемую" проверку флажка в MVC2? или я должен записать нестандартный элемент верификации для него? Я подозреваю, что нестандартный элемент верификации не будет выполняться ни один по упомянутой выше причине. Застревают я проверяющий на него явно в моем контроллере? Это кажется грязным...
Любое руководство ценилось бы.
Scott
РЕДАКТИРОВАНИЕ ДЛЯ ЯСНОСТИ: Как указано в комментариях ниже, это, "согласовывают на наши условия" тип флажка, и поэтому "не проверенный" действительный ответ, таким образом, я действительно ищу, "проверяется" проверка.
пользовательский валидатор - это то, что нужно. Я опубликую свой код, который я использовал для проверки того, что пользователь принимает условия ...
public class BooleanRequiredToBeTrueAttribute : RequiredAttribute
{
public override bool IsValid(object value)
{
return value != null && (bool)value;
}
}
Я тоже ищу способ, чтобы связыватель модели правильно обрабатывал флажки с логическими значениями. А пока я использую это в Действиях:
Object.Property = !String.IsNullOrEmpty(Request.Form["NAME"]);
Может быть, это будет вам полезно.