2012-03-12 2 views
1

На моей веб-странице предположительно 10 полей, в которых обязательны 4 поля.Как включить/отключить обязательные поля в странице struts2 через UI

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

(Я хочу сделать еще 2 поля обязательными для пользовательского интерфейса и без бизнес-логики для новых добавленных обязательных полей, заполните это поле.)

+1

Отключить кнопку отправки до тех пор, пока все поля не будут заполнены и не активируют ее после заполнения, вы можете сделать это с помощью javascript. –

+1

@VIVEK: не уверен, что вы имеете в виду, добавив больше полей в качестве обязательных? вы хотите, чтобы их требовали во время выполнения? –

+0

no @MohanaRaoSV, моя проблема в том, что я хочу сделать еще два поля, обязательных через интерфейс, не нужно идти кодировать часть, мы должны делать все, начиная от UI. любые идеи, которые они могут разделить! – VIVEK

ответ

1

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

Вы создадите RequiredFieldService, который будет обращаться к базе данных.

RequiredFieldService интерфейс, вероятно, содержит:

public void setRequiredActionFieldsPerUser(String namespace, String action, Class<T> actionClass, List<String> requiredSetters, int userId); //The class is passed in to make it easier to use reflection (or preferably Apache bean utils to verify that the setters actually exist) 

public List<String> getRequiredActionFieldsPerUser(String namespace, String action, int userId);//if you provide a Class in the parameters you can test if the interface has changed and throw an exception, or simply remove those attributes from the db 

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


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

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