C# Asp.net验证。仅允许用户在文本框中输入特定数字
如您所见,上面文本框中的验证只允许用户输入数字100。我需要它,这样用户也可以输入0,但没有其他选项。关于这一点,我想提出一些建议 使用 javascript中的C# Asp.net验证。仅允许用户在文本框中输入特定数字,c#,asp.net,C#,Asp.net,如您所见,上面文本框中的验证只允许用户输入数字100。我需要它,这样用户也可以输入0,但没有其他选项。关于这一点,我想提出一些建议 使用 javascript中的。您可以使用。如果需要输入,您也可以将其与 如果您只能拥有100或0,为什么不拥有一个下拉列表?由于设计问题强加给我,它必须是一个文本框。啊。如果您被迫进入文本框,请查看RegularExpressionValidator,然后您需要使用CustomValidator@MethodMan跳出文本框思考:)谢谢您的帮助。看起来这正是我想
。您可以使用。如果需要输入,您也可以将其与
如果您只能拥有100或0,为什么不拥有一个下拉列表?由于设计问题强加给我,它必须是一个文本框。啊。如果您被迫进入文本框,请查看RegularExpressionValidator
,然后您需要使用CustomValidator
@MethodMan跳出文本框思考:)谢谢您的帮助。看起来这正是我想要的功能@JD88:RegularExpressionValidator。但请注意,它不会验证空文本(与CustomValidator
相反),因此您需要另一个RequiredFieldValidator
。您是否也尝试过CustomValidator
方法?它工作了吗?有什么问题吗?我试了一下你建议的CustomValidator,但我没能让它工作。今天,时间对我来说是个问题,所以我选择了上面的选项,因为它很快就起作用了。当我添加上面作为可选选项建议的RequiredFieldValidator时,它似乎也能处理空文本(我想你的意思是当文本框留空时)。@JD88:也许你没有添加我在回答中提到的ClientValidationFunction
,所以你总是有回发进行验证。如果您有修改页面加载中文本框的代码(例如一些数据绑定内容),则不会触发服务器验证事件。@Tim Schmelter。这是有道理的,我确实有其他代码在那个文本框上工作。
<asp:TextBox ID="Fund9"
runat="server"
columns="4"
MaxLength="3" Value="" />
<asp:RangeValidator ControlToValidate="Fund9"
MinimumValue="100"
MaximumValue="100"
Type="Integer"
ErrorMessage="Fund 9 must be 0 or 100"
Text="Must be 100% if selected" runat="server" /></td></tr>
<asp:CustomValidator ID="ValidatFund"
ControlToValidate="Fund9" ValidateEmptyText="true"
OnServerValidate="ValidateFund" runat="server"
ErrorMessage="Fund 9 must be 0 or 100" >
</asp:CustomValidator>
protected void ValidateFund(Object sender, ServerValidateEventArgs e)
{
e.IsValid = e.Value.Trim() == "0" || e.Value.Trim() == "100";
}
<asp:TextBox ID="Fund9"
runat="server"
Columns="4"
MaxLength="3" Value="" />
<asp:RegularExpressionValidator ID="Fund9RegularExpressionValidator"
runat="server"
ValidationExpression="^(0|100)$"
ErrorMessage="Fund 9 must be 0 or 100" ControlToValidate="Fund9"
Text="Must be 100% if selected" Display="Dynamic" />
<asp:Button runat="server" ID="SubmitButton" Text="Submit"
OnClick="SubmitButton_Click" />
<%-- RequiredFieldValidator is optional --%>
<asp:RequiredFieldValidator ControlToValidate="Fund9" Text="Required"
ErrorMessage="Required is required." runat="Server"
ID="Fund9RequiredFieldValidator" Display="Dynamic" />