Aurelia Contact Manager Tutorialで拡張しようとしています。具体的には、email-validationをcontact-details.htmlビューに追加する。私はValidation: Basicsのドキュメントの例に従っており、最初のパスでは期待通りに機能しました。アプリケーションを起動し、連絡先リストモジュールから連絡先を選択し、「@」を取り除いて無効なものに電子メールを更新します。検証ルールが発生し、エラーメッセージが表示されます。ビューモデルのその後のアクティベーションでAurelia検証ルール(モデルにバインドされていません)が発生しません
しかし、アプリケーションを起動した後、最初の連絡先とそれに続く2番目の連絡先を選択すると、連絡先詳細モジュールの2回目の起動がトリガーされ、検証ルールは起動しません。
私はcontact-detailのactivateでvalidationController.reset()を試しましたが、これは '古い'エラーメッセージを削除しますが、ぼかしの有効性は依然として発生しません。
(NewInstance.of(ValidationController)とValidationControllerFactoryを使用して)検証コントローラを作成する2つの異なる方法を試しましたが、どちらも同じ結果をもたらします。
2番目の連絡先に移動し、検証を「中断」した後、ブラウザを更新してページを再読み込みしてから、検証が再度機能します。私がリストから別の連絡先を選ぶまで、再びそれを壊すでしょう。
私はAureliaとJavaScriptのフレームワークには一般的ではありません。これがバグか、同じページへの再ルーティングを処理するために余分なものがあるかどうかはわかりません。
はお返事して、コードをありがとうビューにvalidation binding behaviorを適用します。ちょっとした変更を加えれば、私のコードを動作させることができました!あなたのコードに加えた唯一の変更はValidationRulesの定義にありました。 'code' ValidationRules .ensure( 'email')。email()。required() .on(Contact); 'code' – Jonesi
ここにはとてもうれしい、うれしい! :D –