私はVisual Studio 2008でasp.netとC#を使用する初心者です
ID = LimitAmount の TextBox があり、DOUBLE タイプの入力を受け入れることになっているため、これを制御するために CompareValidator (CompareValidatorAmount) を作成しました。無効な入力タイプの後に TextBox をクリアしたいと考えています。
ありがとう !
私はVisual Studio 2008でasp.netとC#を使用する初心者です
ID = LimitAmount の TextBox があり、DOUBLE タイプの入力を受け入れることになっているため、これを制御するために CompareValidator (CompareValidatorAmount) を作成しました。無効な入力タイプの後に TextBox をクリアしたいと考えています。
ありがとう !
カスタム バリデータを使用します。
<asp:CustomValidator id="CustomValidator1"
ControlToValidate="LimitAmount"
OnServerValidate="ServerValidation"
ErrorMessage="This field requires a number"
ForeColor="red"
runat="server"/>
コードビハインド:
void ServerValidation(object source, ServerValidateEventArgs args)
{
double tmp;
if(double.TryParse(args.Value, out tmp))
{
args.IsValid = true;
}
else
{
args.IsValid = false;
LimitAmount.text = string.empty;
}
}
必要に応じて、Javascript でこれを検証することもできます。ClientValidationFunction
jQuery を使用してみてください:
<table style="width: 100%;">
<tr>
<td style="width: 30%;">
<asp:TextBox ID="TextBox1" runat="server" onblur="return BtnClick();"></asp:TextBox>
</td>
<td style="width: 70%;">
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="TextBox2" runat="server" onblur="return BtnClick();"></asp:TextBox>
</td>
<td>
<asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator"
ControlToCompare="TextBox1" ControlToValidate="TextBox2"></asp:CompareValidator>
</td>
</tr>
<tr>
<td>
<asp:Button ID="Button2" runat="server" Text="Button" OnClientClick="return BtnClick();" />
</td>
<td>
</td>
</tr>
</table>
そしてスクリプト
<script type="text/javascript">
function BtnClick() {
var val = Page_ClientValidate();
if (!val) {
var i = 0;
for (; i < Page_Validators.length; i++) {
if (!Page_Validators[i].isvalid) {
$("#" + Page_Validators[i].controltovalidate)
.val('');
}
}
}
return val;
}
</script>
これを試してください........検証が呼び出されたとき
LimitAmount.text = string.empty ;