Задача со сохранением кнопок бросает ошибки проверки

StackOverflow https://stackoverflow.com//questions/21021063

  •  21-12-2019
  •  | 
  •  

Вопрос

У меня есть задача CAF WebMethods, которая имеет большую форму с кнопкой сохранения и кнопкой отправки.Многие элементы на форме имеют проверку.Пользователь должен быть в состоянии ударить сохранить и иметь форму, отправленную в модель задней конечной модели, чтобы ее можно было сохранить как данные задач, без валидации.Удар отправки должен огонь.

Как я могу настроить страницу для этого.Это такое нормальное требование, и я застрял!

Это было полезно?

Решение

Это не так весело.

  1. Дайте вашу кнопку сохранения приятный идентификатор.Скажи, СохранитьБуттон
  2. Создайте getter в вашем коде Java, который возвращает логию.Внутри его вернитесь, если идентификатор кнопки является одним из представленных полей, в противном случае false:

    private boolean validationRequired() {
        return mapValueEndsWith((Map<String, String>)getRequestParam(),
            new String[] {
                "saveButton",           // Your save button
                "anotherButton",        // Perhaps another button also shouldn't validate
                "myForm:aThirdButton"   // perhaps you want to be specific to a form
            });
    }
    
  3. В каждом поле, который должен потребоваться, за исключением сохранения, свяжите валидацию-> требуемый атрибут для вашего ValidationRequirequired.

  4. Это все!Очень утомительно с большим количеством полей на экране, но это работает.

    p.s.Что такое mapvalueendswith?Просто утилита;Удаленные пробелы для компактности:

    private boolean mapValueEndsWith(Map<String, String> haystack, String[] needles) {
        for(String needle : needles) if(mapValueEndsWith(haystack, needle)) return true;
        return false;
    }
    
    private boolean mapValueEndsWith(Map<String, String> haystack, String needle) {
        for(String value : haystack.values()) if(value.endsWith(needle)) return true;
        return false;
    }
    
    .

Другие советы

Как я вижу подход, прилагаемый, работает только в том случае, если форма содержит только поля строки типа.Если есть какие-либо другие типы данных, такие как integer, float, время данных сопоставлены на поля ui, и преобразование используется, то это может выйти из строя, если ошибки введены в эти поля.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top