ViewModel с ограниченной проверкой или 2 формы с общим полем? - PullRequest
1 голос
/ 22 мая 2011

Я уже давно пытаюсь найти решение этой проблемы.По сути, у меня есть представление, в верхней части которого есть поле, в которое пользователь вводит сумму платежа.Затем у меня есть 2 формы для 2 различных способов оплаты.Первый способ - оплата картой, где вводятся данные карты.Вторым является оплата через зарегистрированный счет, где введен номер счета.Когда пользователь отправляет любую форму, мне нужно также отправить сумму платежа из поля в верхней части представления.

В настоящее время я реализовал это, используя только одну форму, используя ViewModel, которая имеет 3 свойства (подмодели).), Модель PaymentAmount, Модель PaymentCardDetais и Модель AccountDetais.Проблема в том, что при отправке все поля модели в viewModel проверяются.Очевидно, что пользователь всегда будет вводить сумму, но будет вводить только данные карты или данные счета.Я не уверен, что это лучший способ реализовать это - любые мысли по этому поводу будут высоко оценены.Если это лучший способ, то мне нужно найти способ избежать проверки на всех подмоделях viewmodels - возможно ли это?

Заранее спасибо за вашу помощь.Джеймс

1 Ответ

0 голосов
/ 21 ноября 2011

Вы правы, что пользователь всегда будет вводить сумму для обоих случаев, но если бы я был вами, я бы просто избегал принципа СУХОЙ, столь полезного при кодировании, но не так уж много с точки зрения пользовательского интерфейса, и использовал бы две независимые формы. по одному для каждого типа платежа и в каждом из них есть поле суммы.

Таким образом вы решаете проблемы проверки и отправки формы.

Другой вариант, если вы действительно не хотите, чтобы на странице было два поля сумм, я бы посоветовал пользователю сначала выбрать способ оплаты, а затем показать ему только форму с полями для выбранного способа оплаты.

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