これは従来のログイン フローです。ユーザーは「新規ユーザー」または「既存ユーザー」を選択できます。ユーザーが新しい場合は、ログイン ボックスの名前をサーバーに対して検証して、ユーザー名が一意かどうかを確認する必要があります。既存のユーザーの場合は、ユーザー名が既に取得されていることが予想されるため (もちろん)、このチェックはスキップされます。
ビューモデルに [Remote] 属性を追加し、新規/退出ユーザー用のラジオボタンを「追加フィールド」として追加しました。このようにして、リモート検証は、既存のユーザーの場合は true を返し、そうでない場合はデータベースをチェックして、ユーザー名が使用されているかどうかを確認します。
ユーザー名を入力した後 (そしてリモート検証が実行された後)、ユーザーがラジオボタン (新規/既存) を変更することを決定した場合を除いて、これはうまく機能します。リモート検証は、ユーザー名が変更された場合 ([Remote] 属性を持つプロパティ) にのみ自動的に実行されるため、ラジオボタンのみを変更しても、再度実行されることはありません。
だから私の問題は、リモート検証を強制的に再度実行するにはどうすればよいですか? ユーザー名入力フィールドで変更/フォーカス/ぼかしイベントをトリガーして通常のハックを試みましたが、呼び出しはトリガーされません。ラジオボタンに同様の [Remote] を追加することを検討しましたが、同じ絶対位置に配置された 2 つの同じように見えるエラー メッセージにより、事態が非常に複雑になります。
再検証をトリガーする方法はありますか?