ドロップダウンでオプション1が選択されている場合に空でなければならないフィールド(フィールドA)を持つフォームがありますオプション2が選択されている場合オプション1を選択したときにフィールドAをクリアして無効にするjavascriptがあります。ASP.NET MVC 3:ターゲットフィールドが無効の場合、クライアント側の検証メッセージが後でスティックされる
私はSimon InceのRequiredIf属性をオプション1に依存して、モデルのフィールドAに適用しており、うまくいきます。それは問題ではありません。
- ユーザーが選択したオプション2(そのため、フィールドAが必要)とフィールドの空を持っています
は、ここで問題になるんイベントのシーケンスです。
- ユーザーが[保存]をクリックします。検証メッセージは、フィールドAおよび検証サマリーに表示されます。すべては順調です。
- オプション1のユーザー変更。フィールドAは無効になります。
- ユーザーが[保存]をクリックします。検証メッセージはフィールドAに残りますが、ではなく、が検証要約に表示されます。
私はRequiredIfの検証が動作している(とフィールドAが検証を通過している)が、古い検証メッセージが周囲に付着していることをこのことから結論付けています。私は欲しくない。
これはすべてクライアント側です。
フィールドが無効になっていないと、すべて正常に機能しますが、編集可能ではなく無効にしたいが、「空にする」必要があります。
jsとjQueryを通じてメッセージSPANタグをクリアする以外に、これを修正する方法はありますか?
ありがとうございました。私はそれを試みます。しかし、上記のステップ4で2回目の送信ボタンをクリックしても、検証を再実行する効果はありませんか?私はすでに残っている検証メッセージが消えないことを知っています。 ETA:いいえ、残念ながら、あなたの提案ではメッセージが消えませんでした。それはまだ周囲に固執する。 –
DUH!フィールドAを無効にする前に、検証をやり直すつもりでした!はい、それはそれを世話しました!ありがとうございました! –