【问题标题】:Vaadin How to reset TextArea value in Vaadin if validation on save failedVaadin 如果保存验证失败,如何在 Vaadin 中重置 TextArea 值
【发布时间】:2017-01-17 13:04:51
【问题描述】:

如果保存操作验证失败,如何在 Vaadin 中重置 TextArea 的值。我的代码如下:

  1. 它为文本区域提供从 DB 中检索到的文本“A”;
  2. 然后我想将文本区域更改为文本“B”
  3. 当“B”验证失败且 B 未保存到 DB 时,我希望在文本区域中看到文本“A”,但显示文本“B”。

VerticalLayout content = new VerticalLayout();
TextArea text = new TextArea();   
text.setValue(controller.getFile().getName());    
text.setRequired(true);
Button save = new Button("Save", event -> {
            try {
              newName.validate();
               if (controller.getFile().updateName((text.getValue()))){
                     close();                     
               } else{
                   System.out.println("WRONG TEXT!");
               }    
            } catch (Validator.InvalidValueException ex) {
                text.setValidationVisible(true);    
            }
        });
        save.setSizeFull();
        content.addComponent(text);
        content.addComponent(save);
        setContent(content);

我的代码有什么问题?

【问题讨论】:

    标签: java textarea vaadin textfield


    【解决方案1】:

    已解决,只是简单的 Java 在 updateName() 方法中:

    public boolean updateName(String newName) {
            if (controller.getFile()!=null) {
                controller.saveFileName(controller.getFile());
                file.setName(newName);   // mistake was in this line.
              }                 
               return false;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-18
      • 1970-01-01
      • 1970-01-01
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多