TextBoxにRequiredFieldValidatorがあります。これは、TextBoxに何も入力されていない場合に正常に機能します。ここで、もう1つの検証は、ユーザーがジャンクデータを入力したときに、「無効な入力」というエラーメッセージをスローすることです。これはラベルにあります。
これで、シナリオはエラーメッセージがスローされた後です。ユーザーがテキストボックスを空にしてボタンをクリックすると、RequiredFieldValidatorは機能しますが、ラベルのエラーメッセージはそのまま残ります。ユーザーがテキストボックスを空にしたら、非表示/削除したいと思います。
このためにJavaScript関数を使用しましたが、これではRequiredFieldValidatorが機能しません。これが私のコードです:
<asp:TextBox ID="txtemp" runat="server"></asp:TextBox>
<asp:Button ID="btnstatus" runat="server" ValidationGroup="valgrp1" OnClientClick="Validate()"
CausesValidation="true" onclick="btnstatus_Click"
Text="Fetch status message" BackColor="#ccebff" />
<asp:RequiredFieldValidator ID="Reqfield1" ControlToValidate="txtportalid" ValidationGroup="valgrp1" ErrorMessage="wrong entry" runat="server" />
</div>
<div>
<asp:Label ID="lblerrormsg" runat="server" Font-Bold="true" Visible="false" ForeColor="#FF3300">
</asp:Label>
</div>
JavaScript:
function Validate()
{
var txt1 = document.getElementById("<%= Txtemp.ClientID %>");
var val1 = txt1.value.replace(/\s/g, "");
if (val1=="")
{
document.getElementById("<%= lblerrormsg.ClientID%>").style.display = 'none';
}
}