2017-01-17 4 views
0

保存アクションの検証が失敗した場合、VaadinのTextAreaの値をリセットするにはどうすればよいですか?私のコードは以下の通りです:Vaadin保存時の検証が失敗した場合、VaadinのTextArea値をリセットする方法

  1. これは、テキスト "A"がDBから取得されたテキスト領域を与えます。
  2. 次にテキスト領域をテキスト "B"に変更したい
  3. "B" hassの検証に失敗し、BがDBに保存されない場合テキスト領域にテキスト "A"が表示され、表示されています。私のコードで間違って何

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); 

答えて

0

解決、単なるupdateNameでJava()メソッド:

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