Я использую asp.net MVC3, и я очень новичок в этой технологии.Ошибки привязки модели и ошибки проверки
Мои модели разработаны таким образом, что свойства будут выдавать ошибки проверки, если данные недействительны. В этом случае свойства не задаются с недопустимыми данными.
Когда я перерисовываю свое редактирование, отображаются сообщения об ошибках проверки; однако значения, которые ранее вводил пользователь, исчезли из-за того, что модель должна содержать только старые данные.
Например, у меня был класс Person
, а свойство Name
не может быть пустой или пустой строкой, иначе оно выдает исключение проверки и предотвращает установку свойства. Теперь скажите, что пользователь удаляет значение из свойства Name
и пытается сохранить Person
из Интернета. Исключение проверки будет выбрано и обработано правильно, чтобы добавить ошибку в ModelState
, чтобы она отображалась на экране; однако старое значение для Name
отображается повторно, поскольку некорректная пустая строка никогда не попала в свойство.
Я не знаю, как решить эту проблему, и любые советы по этому вопросу будут очень признательны.
У меня был этот разговор много раз с моей командой. Я согласен с вами в предоставлении недействительных данных в моделях, но они этого не делают. Если бы мы реализовали ваш предлагаемый дизайн, то в других приложениях с помощью этих моделей было бы проще выполнить проверку. Несмотря на то, что этот дизайн обеспечивает большую работоспособность наших объектов-моделей, это вызывает проблемы, поскольку пользовательский интерфейс и базовая модель, с которой он связан, не синхронизированы. Итак, у нас есть 2 уровня проверки: проверка UI и проверка модели. Итак, мне нужно будет найти это «нелегкое» решение. – Frinavale