C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: チェックボックスのvalidatorは?


(過去ログ 80 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■47488 / inTopicNo.1)  チェックボックスのvalidatorは?
  
□投稿者/ しょう (8回)-(2010/03/04(Thu) 10:26:57)

分類:[ASP.NET (C#)] 

checkboxのvalidatorはどのように実装すればよいのでしょうか?
ググったり探したのですが、どうも見つかりません。

具体的には、一つもチェックされてない状態をエラーにしたいです。

あと、同じような質問ですが、ラジオボタンも一つもチェックされていない
場合はどうすればよいのでしょうか?

かなり基本的なチェックだと思うのですが、Validatorが存在しないのが
不思議なのですが・・・(というか私が知らないだけ?)

よろしくお願します。

引用返信 編集キー/
■47576 / inTopicNo.2)  Re[1]: チェックボックスのvalidatorは?
□投稿者/ もりお (199回)-(2010/03/07(Sun) 19:53:24)
2010/03/08(Mon) 07:43:53 編集(投稿者)
No47488 (しょう さん) に返信
> checkboxのvalidatorはどのように実装すればよいのでしょうか?

遅きに失したかもしれませんが。
CustomValidator コントロールを利用してください。

通常は JavaScript によるクライアント側での検証と C# によるサーバー側での検証を実
装します。

まずはクライアント側での検証。
CheckBox を取得して checked == true であれば検証成功、checked == false であれば
検証失敗の function を用意します。
検証成功の場合は第2引数の IsValid に true をセット、失敗の場合は false をセット
します。

[WebForm.aspx]
<script type="text/javascript">
  function checkBox1Validate(source, arguments) {
    var checkBox1 = document.getElementById('<%= CheckBox1.ClientID %>');
    if (checkBox1.checked == true) {
      arguments.IsValid = true;
    } else {
      arguments.IsValid = false;
    }
  }
</script>

そして、CustomValidator.ClientValidationFunction プロパティに、作成した function
名をセットします。

[WebForm.aspx]
<asp:CustomValidator 
  ID="CustomValidator1" 
  runat="server" 
  ErrorMessage="チェックしてくださいなー" 
  onservervalidate="CustomValidator1_ServerValidate"
  ClientValidationFunction="checkBox1Validate"></asp:CustomValidator>

次にサーバー側での検証。
CustomValidator.ServerValidate イベントのハンドラに記述します。
検証成功か否かの bool 値を ServerValidateEventArgs.IsValid プロパティにセットし
ます。

[WebForm.aspx.cs]
protected void CustomValidator1_ServerValidate(object source,
                                               ServerValidateEventArgs args) {
  if (CheckBox1.Checked == true) {
    args.IsValid = true;
  } else {
    args.IsValid = false;
  }
}

RadioButton もほぼ同じような感じで出来るかと思います。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -