2016-04-02 6 views
0

私は私のプログラムのためのデータ検証を実装しようとしています:これは私が作成しようとしていますバリデータの一例であるより具体的なJavaFXのデータの検証

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

、問題は誰かが数字の文字列を入力したときに来て。これを特定の文字だけに限定してもらえますか?

答えて

1

JavaFXに標準のバリデータはありません。しかし、そのような機能を提供するいくつかのJavaFXライブラリがあり、どれも単純なパスワードバリデーターを含んでいません。だから私はmyselfでバリデータを実装しなければなりませんでした。

あなたのコードはあまり良くありません。一部の機能でクリックリスナーを追加します。 FXMLコントローラのinitialize()機能にリスナーを追加する必要があります。テキストが空のときにも、あなたはボタンを無効にする必要があります。

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

[のTextFormatter](https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TextFormatter.htmlがあります)ですが、現在はSwingの[COMMIT_OR_REVERT](https://docs.oracle.com/javase/8/docs/api/javax/swing/JFormattedTextField.html#COMMIT_OR_REVERT)のように動作します:無効な入力は黙って破棄され、値が復元されます。 – VGR

+1

リンクが壊れています。リポジトリを移動しましたか? – MikaelF

+0

あなたのコメントのおかげで、私は正しいリンクで私の答えを更新しました。私はちょうどいくつかのリファクタリングを行い、元のリンクを壊しました。 –

関連する問題