我想验证特定文本的文本框,它不得空白。但是,正常表达式验证器未验证文本框 空白的. 。但是,它可以验证我在文本框中输入某些内容。

即使文本框为空,我如何制作正则表达式触发?

我应该同时使用所需的验证器 +正则验证器吗?谢谢。

<asp:TextBox ID="txtcard" runat="server" MaxLength="16"></asp:TextBox>

<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" 
ControlToValidate="txtcard" ErrorMessage="Please type credit card no" 
ValidationExpression="^\d{16}$"></asp:RegularExpressionValidator>
有帮助吗?

解决方案

我通常会按照您的建议做,并且还具有所需的验证器。这将使您可以为每个规则传达不同的消息。

我建议任何Web开发人员查看的另一个选项是jQuery验证插件。如果将其与流利的验证结合使用,则可以将所有验证规则保留在一个地方,并且可以使用相同的规则在客户端和服务器上进行验证。

jQuery验证

流利的验证

其他提示

你应该结合你的 RegularExpressionValidatorRequiredFieldValidator.

如果两者失败,它将由于验证射击而阻止。每个人都有目的和 RegularExpressionValidator的目的是验证输入的文本而不是缺乏文本。

如果您想在一个验证器中完成所有操作,您可以使用 CustomValidator 并设置 ValidateEmptyText='true'. 。然后,您可以使用JavaScript Regex进行检查。我会推荐两个验证器,因为这是一种标准方法。

您应该同时使用这两个。如果该值为空白,则不返回验证错误,而ASP.NET验证控件中则不常见。您将在system.componentmodel.dataannotations名称空间中从验证属性中看到相同的行为。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top