名前と手数料率の2つの列しかないGridPanelがあります。すべてのパーセンテージの合計は、事前に決定された最大値を超えてはなりません(たとえば、売り上げの25%が獲得可能です)。
Name Commission
Bob 10%
Sally 15%
(Maximum is 25%)
Everything is fine.
カスタムバリデーター(「バリデーター」を参照)をNumberFieldエディターにアタッチしました。これは、個々の値の複雑なロジックに最適であり、データストアの数値列のすべての値を簡単に合計できます。しかし、問題は2つを組み合わせることにあります。新しい値は検証が成功するまでストアにプッシュされず、カスタムバリデーターには問題の現在の値のみが与えられ、どの行が関係しているか(古い値を差し引く可能性があります)に関するコンテキストはありません。合計でこの新しい値を使用します)。
新しく入力した値が合計を最大値を超えないように、このバリデーターを機能させるにはどうすればよいですか?
Name Commission
Bob 10%
Sally 16% (Invalid! Total commissions must not exceed 25%)
(Maximum is 25%)