リピーターコントロールにテキストボックス、ラベル、ボタンがあります。ボタンはテキスト ボックスを検証する必要があります。ユーザーが 4 より大きい数値を入力すると、エラー メッセージが表示され、ラベル ボックスの値に基づいてテキスト ボックスの値が変更されます。
リピーター内のカスタム検証を使用してテキストボックスを検証する方法は?
リピーターコントロールにテキストボックス、ラベル、ボタンがあります。ボタンはテキスト ボックスを検証する必要があります。ユーザーが 4 より大きい数値を入力すると、エラー メッセージが表示され、ラベル ボックスの値に基づいてテキスト ボックスの値が変更されます。
リピーター内のカスタム検証を使用してテキストボックスを検証する方法は?
OnItemDataBound イベントまたは OnItemCreated イベントで、このコードを実行します
Label lbl = (Label)e.Item.FindControl("lblId");
Button btn = (Button)e.Item.FindControl("btnId");
TextBox txt = (TextBox)e.Item.FindControl("txtId");
CustomValidator cfv = (CustomValidator)e.Item.FindControl("cfvId");
if (cfv != null && txt!=null&&btn!=null&&lblId!=null)
{
cfv.ControlToValidate = txt.ClientID;
cfv.ClientValidationFunction = "YourFunction";
cfv.ValidationGroup = cfv.ClientID + "ValidationGroup";
btn.ValidationGroup = cfv.ClientID + "ValidationGroup";
lbl.AssociatedControlID=txt.ClientID;
}
//javascript code on client side
function YourFunction(sender, args)
{
args.IsValid=parseInt(args.Value)<=4;
if(!args.IsValid)
$('#'+sender.controltovalidate).val($('label:[for="'+sender.controltovalidate+'"]').text());
return;
}