<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>
正如您所看到的,上面文本框中的验证仅允许用户输入数字100.我需要它,因此用户也可以输入0但没有其他选项。我会对此提出一些建议。
答案 0 :(得分:6)
<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";
}
您还可以在javascript中提供ClientValidationFunction
。
答案 1 :(得分:3)
您可以使用RegularExpressionValidator。如果需要输入,您也可以将其与RequiredFieldValidator结合使用。
<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" />