2010-06-10 1 views
1

У меня очень большая форма, в которой мне нужен пользователь. Они должны иметь возможность сохранить свой прогресс независимо от того, действительны они или нет. Когда они вернутся в более позднее время, они могут обновить и сделать действительными, а затем отправить данные., что было бы лучшим методом для переопределения проверки данных в приложении mvc

Я использую скрипты на стороне клиента (xval), атрибуты на стороне сервера в модели домена.

ответ

0

Один из вариантов для вас - это кнопка [Save Draft], которая перейдет в другое действие SaveDraft() вместо Save(). Имея отдельный метод, вы можете выбрать размер проверки, который вы хотите в операции сохранения. Это я считаю чище.

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

+0

Моя основная проблема заключается в том, что я использую xval для проверки на стороне клиента ... не знаю, как я могу переопределить эту проверку. Думаю, это вопрос для автора. Кроме того, нужно просто оценить, нужно ли нам предоставлять пользователю эту возможность (для сохранения) из-за наличия нескольких полей, которые мы не хотим даже сохранять без проверки некоторых данных. Мы должны принять здесь некоторые решения ... спасибо! – waynem

+0

@waynem Похоже, вы не хотите переопределять проверку xVal. Вы хотите либо отключить его для этой страницы, чтобы данные могли быть отправлены или обходить его с помощью jquery Ajax post. –

0

Я много о xval не знаю, но, возможно, вы можете посмотреть в наследовании от xval атрибутов и делает чек там ...

например ConditionalRequiredAttribute: RequiredAttribute, который, возможно, может принимать соответствующие статусы для проверки.

проверка будет так же просто, как base.Validate() (или как там это называется) по методу валидации ConditionalRequiredAttribute, если условие проверки выполняется (состояние! = «Проект).

Поскольку я не знаю xval , Я не уверен, как работает проверка на стороне клиента ... создает ли код проверки на стороне клиента? В этом случае вам придется написать код, который создает похожую оболочку в javascript (например, if (status! = "Draft ») ... Если проверка просто вызывает вызов Ajax на сервер, который возвращает список ошибок, то я полагаю, что вам больше не придется ничего делать.

Извините, я не мог ответить на ваш вопрос напрямую, но, возможно, это может помочь вам придумайте некоторые идеи ...

 Смежные вопросы

  • Нет связанных вопросов^_^