- PR -

ASP.NETで共通validatorをユーザコントロールで作成する

1
投稿者投稿内容
未記入
会議室デビュー日: 2007/09/27
投稿数: 3
投稿日時: 2007-10-11 21:28
いつも勉強させていただいております。

ASP.NETでユーザコントロールを用いて、
共通のRegularExpressionValidatorを作成したいと思っています。
このユーザコントロールが内包するのは、
あらかじめ正規表現だけを指定したRegularExpressionValidatorのみです。

やりたいことは半角英数チェックだけなのですが、
正規表現を開発メンバーごとに設定してもらうと
間違いも起こりやすくなるとの考えから、
正規表現を固定した共通の部品として提供したいのです。

私が試した方法は、
『ユーザーコントロールにErrorMessageプロパティと
ControlToValidateプロパティを追加し、
コンストラクタ内でこれらのプロパティを
RegularExpressionValidatorの同名の項目に反映する』
というやり方ですが、

ControlToValidateに対してpage内の入力コントロール(TextBox1)を指定しても、
『'TextBox1'のコントロールが見つかりません』のような
実行時エラーになってしまいます。

どなたか解決方法をご存知でしたら、よろしくお願いいたします。
sou
ベテラン
会議室デビュー日: 2002/09/25
投稿数: 56
投稿日時: 2007-10-11 23:11
RegularExpressionValidator コントロールを
継承したカスタム検証コントロールを作成し、
コンストラクタ内で ValidationExpression プロパティを設定する。
ただ、この方法だと他のメンバーがプロパティの値を設定することができるので、
プロパティをoverrideする方がいいのかも。

コード:

namespace CustomControl
{
public class CustomRegularExpressionValidator:RegularExpressionValidator
{
public CustomRegularExpressionValidator:base()
{
this.ValidationExpression = "半角英数チェックの正規表現";
}
}
}



[ メッセージ編集済み 編集者: sou 編集日時 2007-10-11 23:12 ]
1

スキルアップ/キャリアアップ(JOB@IT)