2016-04-02 28 views
0

javafx veri doğrulama: Birisi bir sayı dizisi girdiğinde Bu benim oluşturmaya çalışıyorum doğrulayıcılarının bir örnektirDaha spesifik benim program için veri doğrulama uygulamak çalışıyorum

private boolean typeVal (TextField typeInput, String typeMessage){ 
    try { 
     String type = (typeInput.getText()); 
     addButtonClicked(); 
     return true; 
    }catch(NumberFormatException e) { 
     AlertBox.display("Datatype Error", "Please check all fields are entered and are using correct datatypes"); 
     return false; 
    } 
} 

, sorun geliyor . Bunu sadece belirli karakterlere göre daha spesifik yapmak için var mı?

cevap

1

JavaFX'de standart doğrulayıcı yoktur. Ancak, böyle bir işlevsellik sağlayan birkaç JavaFX kütüphanesi vardır ve bunların hiçbiri basit şifre doğrulayıcı içerir. Bu yüzden validatorları myself ile uygulamak zorunda kaldım.

Sizin kodunuz gayet iyi değil. Bazı işlevlerde tıklama dinleyicisini eklersiniz. FXML denetleyicisinin initialize() işlevinde dinleyiciler eklemeyi tercih etmelisiniz.

button.disableProperty().bind(textField.textProperty().isEmpty()); 
+0

[TextFormatter] Orada https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TextFormatter.html (: Metin boşken Ve ayrıca düğmesini devre dışı olmalıdır), ama şu anda Swing'in [COMMIT_OR_REVERT] gibi davranır (https://docs.oracle.com/javase/8/docs/api/javax/swing/JFormattedTextField.html#COMMIT_OR_REVERT): Geçersiz girdi sessizce atılır ve son olarak iyi değer geri yüklenir. – VGR

+1

Bağlantınız bozuk, deponuzu hareket ettirdiniz mi? – MikaelF

+0

Yorumunuz için teşekkür ederiz, cevabımı doğru linkle güncelledim. Ben sadece bazı refactoring yaptım ve orijinal bağlantıyı kırdı. –

İlgili konular