我试图通过更改文本框边框的颜色来显示错误。我发现了很多关于如何做的帖子,但是我从未对'Validators'做过任何事情,所以我很困惑从哪里开始,或者把代码放在哪里。
类似帖子:
我的主要问题是,我在哪里放置JS代码?其次,我该如何调用代码?
当前代码
If TicketNumber.Text = String.Empty = True Then
NotificationLabel.Text = "Ticket Number must be filled out"
Exit Sub
End If
答案 0 :(得分:1)
RequiredFieldValidator
可以通过解释here和here的一些技巧来实现。另一种方法是使用CustomValidator
,如下所示。
aspx标记
<asp:TextBox runat="server" ID="tbText" />
<asp:CustomValidator ID="cvCustom" ErrorMessage="Ticket Number must be filled out"
ControlToValidate="tbText" runat="server" OnServerValidate="ValidateInput"
ClientValidationFunction="ValidateInput" ValidateEmptyText="True" />
<asp:Button Text="My Button" runat="server" />
<强>的Javascript 强>
<script type="text/javascript">
function ValidateInput(sender, args) {
if (args.Value == '') {
args.IsValid = false;
document.getElementById('<%= tbText.ClientID %>').style.borderColor = "red";
return false;
}
return true;
}
</script>
代码背后(C#)
protected void ValidateInput(object source, ServerValidateEventArgs args)
{
if(string.IsNullOrWhiteSpace(args.Value))
{
args.IsValid = false;
tbText.Style["border-color"] = "red";
}
else
{
args.IsValid = true;
}
}