在我的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
接受这里的空间值???
答案 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";
}