C# 输入字符串格式不正确,Requiredfieldvalidator工作不正常
因此,根据建议,我更新了代码 文本框:C# 输入字符串格式不正确,Requiredfieldvalidator工作不正常,c#,asp.net,requiredfieldvalidator,C#,Asp.net,Requiredfieldvalidator,因此,根据建议,我更新了代码 文本框: 现在,我已经输入了正则表达式验证器,它应该可以工作了,但我仍然得到相同的错误。TextBox <asp:TextBox ID="txtStudent_Id" runat="server" ValidationGroup="VAlidation_Name"> </asp:TextBox> 建议: 您可以使用AjaxToolKit Extender让用户只输入整数 <asp:M
现在,我已经输入了正则表达式验证器,它应该可以工作了,但我仍然得到相同的错误。TextBox
<asp:TextBox ID="txtStudent_Id"
runat="server"
ValidationGroup="VAlidation_Name">
</asp:TextBox>
建议:
您可以使用AjaxToolKit Extender让用户只输入整数
<asp:MaskedEditExtender ID="txtEndDate_MaskedEditExtender" runat="server" ClearTextOnInvalid="True"
ClearMaskOnLostFocus="true" Enabled="True" Mask="9999999"
MaskType="Date" TargetControlID="txtStudent_Id"
ErrorTooltipEnabled="True">
同时选中此项EnableClientScript=“True”
和Enabled=“True”
您的错误不需要解决方案。需要解决方案为什么验证控件不起作用?以及如何解决此问题?那么我该怎么办 主要的事情 您在验证控件和按钮控件中缺少了ValidationGroup=“XXXXX”,因此允许添加服务器端代码,因此首先添加该代码并 请尝试使用此
asp:RegularExpressionValidator
仅允许整数值,因此如果键入任何特殊字符和字符串,则不允许使用它
<asp:TextBox ID="txtStudent_Id" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator runat="server"
ControlToValidate="txtStudent_Id" ValidationGroup="XXXXX" EnableClientScript="True"
ErrorMessage="Id is required">
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="RegularExpressionValidator1"
ControlToValidate="txtStudent_Id"
ValidationExpression="\d+"
Display="Static"
EnableClientScript="true"
ErrorMessage="Please enter numbers only" ValidationGroup="XXXXX"
runat="server"/>
<asp:button ValidationGroup="XXXXX"></asp:button>
//在此处调用您的代码您在数据库中声明的student_id数据类型您需要验证允许的整数,并且不应用任何特殊字符错误与验证无关等,它必须出现在将文本框值转换为整数的位置,以便启动验证程序,您的按钮必须将CauseSeValidation属性设置为true。您在哪里编写了此代码“addstudent.Student\u Id=Convert.ToInt32(txtStudent\u Id.Text);”任何人都不理解您的问题。所有人都有解决你错误的办法。但有人没有说为什么验证控制不起作用?请看我的答案,看看你的答案。你看到我的答案了吗,伙计???@AmarnathBalasubramanian。如果任何人输入任何字符串,那么OP就会出错。但是你的代码可以用于验证works@TalalUrfQari你能用按钮发布你当前的客户端代码吗?@TalalUrfQari,你有没有用这个按钮代替你的code@RameshRajendran,这是我的提交按钮。如果任何人输入任何字符串,则OP出错。但是你的验证代码是有效的,而不是修复错误消息。是的,你是对的,伙计。。!!但在他的情况下,他说requiredfield不起作用,但你所说的是一致的。为了只输入整数,他可以使用maskededitextender。因此,我添加了
RequiredFieldValidator
,并愉快地进行了编码。Marnath:RequiredFieldValidator
允许空格,bcs空格是一个字符,所以这次他遇到了一个错误。所以我说了整数验证buddy@RameshRajendran空格是一个字符。您使用过MaskedEditextender吗?请尝试这样做,以便我们可以限制用户输入字符。
<asp:TextBox ID="txtStudent_Id"
runat="server"
ValidationGroup="VAlidation_Name">
</asp:TextBox>
<asp:RequiredFieldValidator runat="server"
Display="Dynamic"
ControlToValidate="txtStudent_Id"
ID="rfvStudent_Id"
ForeColor="Red"
ValidationGroup="VAlidation_Name"
ErrorMessage="Id is required">
</asp:RequiredFieldValidator>
<asp:Button ID="btnSubmit" Text="Submit"
runat="server"
ValidationGroup="VAlidation_Name" CausesValidation="true" />
addstudent.Student_Id =int.TryParse(txtStudent_Id.Text);
<asp:MaskedEditExtender ID="txtEndDate_MaskedEditExtender" runat="server" ClearTextOnInvalid="True"
ClearMaskOnLostFocus="true" Enabled="True" Mask="9999999"
MaskType="Date" TargetControlID="txtStudent_Id"
ErrorTooltipEnabled="True">
void SubmitButton_Click(object sender, EventArgs e)
{
if (!Page.IsValid)
return;
// Do form stuff
}
<asp:RequiredFieldValidator runat="server"
Display="Dynamic"
ControlToValidate="txtStudent_Id"
ID="rfvStudent_Id"
EnableClientScript="True"
Enabled="True"
ForeColor="Red"
ValidationGroup="VAlidation_Name"
ErrorMessage="Id is required">
</asp:RequiredFieldValidator>
<asp:TextBox ID="txtStudent_Id" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator runat="server"
ControlToValidate="txtStudent_Id" ValidationGroup="XXXXX" EnableClientScript="True"
ErrorMessage="Id is required">
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="RegularExpressionValidator1"
ControlToValidate="txtStudent_Id"
ValidationExpression="\d+"
Display="Static"
EnableClientScript="true"
ErrorMessage="Please enter numbers only" ValidationGroup="XXXXX"
runat="server"/>
<asp:button ValidationGroup="XXXXX"></asp:button>
<asp:button ValidationGroup="XXXXX" CasusesValidation="true"></asp:button>
Page.Validate();
if (Page.IsValid == false)
{
return;
}