0

在我的 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 为空时,代码工作正常 --> FailureText=" Content cannot be empty.";

第二次,我按在 FTBspace中输入很多spaces--> FailureText 不显示,程序执行下一个代码。

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

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

4

1 回答 1

1

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

文本框验证(无空格)

<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";
}
于 2013-11-14T17:14:17.177 回答