【问题标题】:Required Field Validator issue validating TextBox value验证文本框值的必填字段验证器问题
【发布时间】:2012-06-27 09:04:57
【问题描述】:

我有一个TextBox,我用它来存储一个url 以应用<asp:HyperLink> 控件。我想要做的是在TextBox.Text 值为空并且用户单击保存 时关闭RequiredFieldValidator。据我所知,我的逻辑没问题,但验证器没有启动?

这是标记:

<div class="frmRow">
        <div class="frmControls">  
            <asp:Label ID="lblLink" AssociatedControlID="txtImgUrl" runat="server" Text="Image URL"></asp:Label>
            <asp:RequiredFieldValidator ID="imgUrlValidator" runat="server" ControlToValidate="txtImgUrl" ErrorMessage="Enter a Valid URL"  />
            <asp:TextBox ID="txtImgUrl" runat="server" />  
        </div>
        <div class="clearBoth"></div>
    </div>

这是检查我的btnSave 事件中有效绝对 URL 的代码:

Uri url;
if (!string.IsNullOrEmpty(txtImgUrl.Text))
{
    txtImgUrl.Text = Uri.TryCreate(txtImgUrl.Text, UriKind.Absolute, out url) ? url.AbsoluteUri : string.Empty;
}

保存按钮标记:

<br class="clearBoth" />
<asp:Button ID="btnSave" Text="Save Case study" ImageUrl="~/Assets/Design/buttons/btn-update.gif" CssClass="btn fltr" runat="server" OnClick="btnSave_OnClick" />
<div class="clearBoth"></div>

TryCreate 在不可靠的 URL 和 txtImgUrl.Text = "" 上失败时,是否应该触发 RequiredFieldValidator

我在这里遗漏了什么明显的东西吗?

非常感谢任何帮助

【问题讨论】:

  • 你的验证器工作正常,你能给我们看看按钮代码
  • 更新问题以包含保存方法
  • 我在 html 中要求保存按钮,因为当 txtImgUrl 为空时,服务器端的保存触发器将不会触发。并且您的页面不会被发回。
  • 也会发布,一秒钟...
  • 尝试将ValidationGroup 属性添加到您的textboxbutton 或将启动验证方法的内容

标签: c# asp.net hyperlink uri requiredfieldvalidator


【解决方案1】:

你应该检查按钮点击

 if (Page.IsValid) 
         {
            lblOutput.Text = "Required field is filled!";
         }
         else 
         {
            lblOutput.Text = "Required field is empty!";
         }

在 ASPX 中添加按钮

CausesValidation="true"

【讨论】:

  • 我试着把它放在我的按钮点击事件中,在最后一次调用中用新的案例研究更新数据库,但Page.IsValid 总是返回true
  • 您可能需要在检查之前调用 Page.Validate(),因为它需要重新检查
  • @Duane,把CausesValidation=true放在你的aspx页面按钮上
猜你喜欢
  • 2015-02-20
  • 1970-01-01
  • 2017-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
相关资源
最近更新 更多