2013-11-15 42 views
1

我在aspx頁面中使用RegularExpressionValidator作爲FreeTextBox控件。RegularExpressionValidator錯誤

<FTB:FreeTextBox id="FTB" runat="server" /> 
<asp:RegularExpressionValidator ID="rev" runat="server" ControlToValidate="FTB" ErrorMessage="Content cannot be only space character" ValidationExpression="[^\s]+"/> 

我想不讓文字只有空格字符。客戶端必須輸入一些a,b,c…字符。

RegularExpressionValidator否認文本中的任何空格字符(例如2個字之間)。

+0

具體地,對於正則表達式驗證表達'[^ \ S] +'指*整個文本*應該是非空間:有一個隱含的額外的檢查,匹配部分是整個文。 –

回答

0

我認爲你應該使用RequiredFieldValidator匹配空/非空內容。其他驗證器只是忽略空的內容,因爲它聽起來像你在這裏打這個功能。

+0

哦,我已經使用RequiredFieldValidator,但它似乎FreeTextBox控制是第三方(有人告訴我這一點),所以RequiredFieldValidator不顯示ErrorMessage。 NOW我必須使用RequiredFieldValidator和RegularExpressionValidator FreeTextbox控制 –

1

這個正則表達式.*[^ ].*僅當它包含比空格更多的東西時才匹配字符串。我測試了它here

希望我幫了忙!

+0

你的意思是我應該改變:ValidationExpression =「。* [^]。*」 –

+0

是的。這正是我的意思。 –

+0

謝謝,但它不工作正常,雖然我測試 –

1

試試這個:

解決方案一:

^((?!\s).)*$ 

像這樣:

.... ValidationExpression="^((?!\s).)*$" .... 

解決方法二:
你可以使用標籤來代替RegularExpressionValidator控件,然後使用在butto中使用代碼N:

Match s = Regex.Match(TextBox1.Text, @"^((?!\s).)*$"); 
if (!s.Success) 
{ 
    Label1.Text = "Incorrect input!"; 
} 
相關問題