使用RequiredFieldValidator控件进行FreeTextBox控件时出错

时间:2013-11-14 17:12:06

标签: c# asp.net

在我的aspx页面中:

...
<tr>
<asp:Label ID="FailureText" runat="server" ForeColor="#CC3300"></asp:Label>
<asp:ValidationSummary ID="Alert" runat="server" CssClass="failureNotification" HeaderText=""/>
<tr/>
<tr>
<FTB:FreeTextBox id="FTB" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="FTB" 
CssClass="failureNotification" ErrorMessage="Content cannot be empty." ToolTip="Content cannot be empty." ></asp:RequiredFieldValidator>
<tr/>

第一次,当我让FTB为空时,代码工作正常 - &gt; FailureText = “Content cannot be empty.”;

第二次,我按space在FTB中输入多个spaces - &gt; FailureText没有显示,程序执行下一个代码。

之前我使用过RequiredFieldValidator控件,但它对null或空格值都有效。

帮助!我真的不知道为什么RequiredFieldValidator接受这里的空间值???

1 个答案:

答案 0 :(得分:1)

也许这会有所帮助。它不完全相同,但听起来你需要检查是否只输入了空格。

validation on textbox (no space)

<asp:RegularExpressionValidator ID="rev" runat="server" ControlToValidate="txtBox"
    ErrorMessage="Spaces are not allowed!" ValidationExpression="[^\s]+" />
<asp:RequiredFieldValidator ID="rfv" runat="server" ControlToValidate="txtBox" 
    ErrorMessage="Value can't be empty" />

...编辑

如果你可以做一些工作服务器端,这将是一个更容易的解决方案......

if(string.IsNullOrWhiteSpace(Textbox1.Text))
{
      lblError.Text ="Enter required field";
}