フィールドに必要なフィールドを のようにすることができるかどうかを尋ねています。他のフィールドが空でない場合は、必要なテキストボックスを設定します。フィールドrequriedの設定方法は条件によって異なりますか?
2
A
答えて
6
あなたはこのためにCustomValidatorを使用することができますが、あなたはそれが働いて得るために知っておく必要があるものがあります。問題は、バリデータにControlToValidate
プロパティを設定した場合、そのコントロールに値がある場合にのみ発生するということです。あなたの状況では、それが値を持たないときにそれを具体的に検証する必要があります。
これを回避するには、バリデーターにControlToValidate
プロパティを設定しないでください。次に、クライアントとサーバーの検証ハンドラで、両方のテキストボックスに直接アクセスする必要があります。あなたのクライアント検証機能で
あなたはこのような何かを行うことができます:
:このようなことができprotected void OnCustomServerValidate(object source, ServerValidateEventArgs e)
{
e.IsValid = true;
// Don't validate anything if `OtherTextBox` is empty
if (OtherTxtBox.Text.Trim() == String.Empty)
{
return;
}
// If we got this far then we need to set IsValid to false if the ControlToValidate has no value
if (TextBoxToValidate.Text.Trim() == String.Empty)
{
e.IsValid = false;
}
}
とあなたのaspxを:
function OnCustomClientValidate(source, e) {
e.IsValid = true;
var otherTextBoxValue = $('#<%=OtherTxtBox.ClientID%>').val().trim();
if (otherTextBoxValue == '') {
return;
}
var controlToValidateValue = $('#<%=TextBoxToValidate.ClientID%>').val().trim();
if (controlToValidateValue == '') {
e.IsValid = false;
}
}
お使いのサーバーの検証方法は、このようになります。
<asp:TextBox ID="OtherTextBox" runat="server"></asp:TextBox>
<asp:CustomValidator ID="MyCustomValidator" runat="server" ClientValidationFunction="OnCustomClientValidate" OnServerValidate="OnCustomServerValidate" Display="Dynamic" ErrorMessage="Please enter a value"></asp:CustomValidator>
<asp:TextBox ID="TextBoxToValidate" runat="server"></asp:TextBox>
このアプローチを使用する場合、(意図された)コントロールt私たちがそのコントロールを指定していないので、検証されるべきフォーカスが失われます。したがって、フォームの送信時にクライアント側の検証が実行されますが、検証が失敗した場合はポストバックがキャンセルされます。
1
このような検証を実行する方法の1つは、カスタム検証ツールを使用することです。カスタムバリデーターを接続して、バリデーションサーバー側またはクライアント側のどちらかを実行することができます。
必須MSDNのリンク:How to: Validate with a Custom Function for ASP.NET Server Controls
関連する問題
- 1. 分割金額は条件によって異なります
- 2. 条件によって異なるコンポーネントテンプレートを設定する角度
- 3. 幅の設定方法は、Ext.panel.Panelの高さによって異なります。
- 4. 値は100または200であり、条件の数によって異なります
- 5. なぜこれらの2つの条件はコンパイラによって異なって扱われますか?
- 6. SQL Server:条件の設定方法
- 7. HQLで条件ごとに異なる条件で2つのフィールドをカウントする方法
- 8. JQ jsonの条件変数は引数の値によって異なりますか?
- 9. 異なるジョイン条件で同じフィールドを使用する方法は?
- 10. RailsAdmin条件によってリスティングレコードを制限する方法は?
- 11. 設定後のラベルのサイズは文字列によって異なります
- 12. 異なる条件に基づいて異なるフィールドをプロジェクトする
- 13. いくつかの条件によって異なるメソッドを返すc#
- 14. ヒストグラムチャート(クラスタ化されている)で、バーのいくつかの場所に縦のテキストを置く方法は条件によって異なりますか?
- 15. 異なるステップ条件でディレクティブを繰り返す方法
- 16. Symfony2:条件付きバンドル設定セクション(必須フィールドあり)
- 17. Systemverilogでは、ある型に対して条件を設定する方法はありますか?
- 18. SQL Server異なるフィールド値の異なる条件で選択します
- 19. 条件に従って特定の文字列スニペットを.replace()する方法はありますか?
- 20. if条件に応じて、異なるWCFバインディングタイプをプログラムで宣言する方法はありますか?
- 21. 条件の条件を真または偽に設定します。
- 22. MS Access SQL - 条件をすべて条件に設定するにはどうすればよいですか?
- 23. _WinAPI_EnumDisplayDevices()に対する条件文:より良い方法はありますか?
- 24. VS 2015のブレークポイント条件をバッチで設定する方法は?
- 25. いくつかの条件によって、データを異なるパイプラインでフォークする方法はありますか?
- 26. SSIS条件付きスプリット条件設定
- 27. 異なるテーブルの別のフィールドに依存するフィールドのケース条件
- 28. ExtJS 6で条件を条件付きで設定していますか?
- 29. 別の条件が満たされない限り、条件によって選択します
- 30. パターンの前提条件に応じてMakefileターゲットを設定する方法は?
ご協力いただきありがとうございます。 –