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;
}