2016-08-26 10 views
1

私はZK 8 MVVMフォーム検証システムを使いこなしていますが、一般的には私がしたいことをしているようですが、依存プロパティインデックスの定義は何ですか...ZK MVVM検証 - 依存するプロパティ配列の内容?

単純なバリデーターを考えてみましょう。 ..

public class FormValidator extends AbstractValidator { 

    @Override 
    public void validate(final ValidationContext ctx) { 

     Property[] properties = ctx.getProperties("firstName"); 

     Object value0 = properties[0].getValue(); 
     Object value1 = properties[1].getValue(); 

    } 
} 

だから、これはsaveコマンドの前に呼び出されたときには、すべてのプロパティのために、私は長さ2のProperty[]配列を取得しかし、どういうわけか、私は[0]と何に格納されているものを見つけるためには至っていません[1]に格納されます。場合によっては[0]が現在の値(フィールドバリデーターに応じて有効かどうか)と最後の有効なエントリ[1]を保存しているように見えるかもしれません...

documentationの例では、検証のために最初の要素([0])を使用しているようですが、この2つの部分が実際に何を意味しているのか理解したいと思います...

誰でも知っていますか?

+0

検証するフィールドの種類は何ですか?日付ボックス、テキストボックス、その他... – barracus

+0

私のテストケースは2つのテキストボックス(firstName、lastName)とその上に 'save'コマンドと 'save'の前に典型的なフォーム検証を持つ保存ボタンを持つ単純なフォームでした。フォームバリデーターを使用すると、2つのテキストボックスごとに、長さ== 2のPropertyの配列が得られます。[0]と[1]の意味を知りたいと思います。 –

答えて

0

私は私の答えと的外れかもしれませんが、あなたはZK8を使用している場合、あなたはForm binding

あなたのバリデータでプロパティを処理する必要はありませんし、プロキシオブジェクトのマッチングを検索することができますこの方法を使用してになりますあなたのフォームに使用するBean。 firstNameおよびlastName属性を持つユーザーPOJOを使用している場合。

User myProxy= (User) ctx.getProperty().getValue(); 

次に、myProxyでgetFirstNameとgetLastNameを実行するだけで、両方のフィールドを検証できます。

希望します。

関連する問題