登録シナリオで Alfresco Share クライアント側フォームがあり、選択したユーザー名が使用されているかどうかを検証したいと考えています。
Alfrescoフォームバリデーターを同期的に追加できますか?
これまでのところ、私のフォームは次のようになります。
this.widgets.saveForm = new Alfresco.forms.Form(this.id + "-form");
this.widgets.saveForm.addValidation(Dom.get(this.id + "-username"), this.validateUsername, me, "blur", this.msg("validation-hint.username-taken"));
ただし、this.validateUsernameは、選択したユーザー名の可用性をチェックするリポジトリ側の Web サービスに対してAlfresco.util.Ajax.requestを作成する必要があります。したがって、基本的に、応答がここに来るまでに、元の validateUsername メソッドは長い間終了しており、false を返します (おそらく)。
これまでの進捗状況は、送信ボタンを無効にすることです (そのため、「me」を検証ハンドラーに渡しています)。ユーザー名が問題ない場合は、成功/失敗のコールバックで有効にします。
同期バリデータを作成する適切な方法は何でしょうか?
副次的な質問は、私を渡すのではなく、検証ハンドラーのスコープを「 this 」に設定するより良い方法があるかどうかです(これも機能します。これは、より良い方法を見逃していないことを確認するためのものです)。