0

開始日と終了日用に 1 つのドロップダウンと 2 つのテキスト ボックスがあります。選択したドロップダウンの値に応じて有効にしている終了日の必須フィールド バリデーター。

この検証部分はすべて、ドロップダウンの機能のValidatorEnable()ために呼び出しているjavascriptの組み込み関数を使用して、クライアント側で行っています。onchange()

これはすべて、ドロップダウンの値の最初の変更で正常に機能しています。しかし、ポストバックを行っているときに、クライアント側の検証に失敗すると、終了日テキスト ボックスの必須フィールド バリデーターが保持されません。

4

2 に答える 2

0

コードがないため診断が難しくなりますが、選択したドロップダウンの値に基づいて、ユーザーがドロップダウンの値を変更した場合にのみ検証を有効にしているように思えます...ページが読み込まれたときに同じ検証呼び出しを行うだけです。ドロップダウン リストからアイテムを選択するときだけではありません。そのため、ドロップダウン リストに以前に選択された値がある場合、ページの読み込み時に、検証が有効になり、期待どおりに動作するはずです。

また、クライアント側の検証エラーでポストバックがない場合も修正する必要があります。

于 2013-05-02T14:33:07.887 に答える
0

Codeplex で利用可能な Foolproof 検証ライブラリを使用するだけです: https://fooproof.codeplex.com/

特に、次の「requiredif」検証属性/装飾をサポートしています。

[RequiredIf]
[RequiredIfNot]
[RequiredIfTrue]
[RequiredIfFalse]
[RequiredIfEmpty]
[RequiredIfNotEmpty]
[RequiredIfRegExMatch]
[RequiredIfNotRegExMatch]

具体的には、[RequiredIfRegExMatch]属性を使用することをお勧めします。

始めるのは簡単です:

  • 提供されたリンクからパッケージをダウンロードします
  • 含まれている .dll ファイルへの参照を追加します
  • 含まれている JavaScript ファイルをインポートする
  • 邪魔にならない JavaScript と jquery の検証のために、ビューがその HTML 内から含まれている JavaScript ファイルを参照していることを確認してください。
于 2014-02-18T19:42:01.603 に答える