0

我正在使用验证表达式来验证有效的 youtube 网址。我所拥有的工作做得很好,除了在 IE 中,当我需要它作为可选时它会根据需要出现。

我做了一些研究并尝试了另一种方法,但它仍然按照 IE 的要求提供。

C# 正则表达式通过 url 从 youtube 和 vimeo 获取视频 ID

下面是我目前使用的。

<label for="you_tube">Video (Your YouTube URL):</label>
<asp:TextBox placeholder="YouTube URL to your Video" runat="server" ID="you_tube" MaxLength="150" /><br/>
<asp:RegularExpressionValidator ID="regExYouTube" SetFocusOnError="true" runat="server" ErrorMessage="Format should follow: http://youtu.be/8-qxGN4VWzY or http://www.youtube.com/watch?v=33aZX7qxgcw" CssClass="formError" ControlToValidate="you_tube" ValidationExpression="http(s)?://(www\.)?(youtu\.be|youtube\.com)[\w-/=&?]+"  Display="Dynamic" />
4

1 回答 1

1

msdn 上的文档让我相信这应该可以工作......无论如何,一个简单的解决方法是修改您当前的正则表达式 ( currentRegex|^$) 以接受除了两种接受的 url 格式之外的空字符串。

可以在这里找到另一个解决方案;http://forums.asp.net/t/1657041.aspx/1

总而言之,您从禁用验证器开始,然后在触发 TextChanged 事件时启用它。

于 2013-02-07T20:16:26.013 回答