2013-11-15 4 views
1

aspx 페이지에서 FreeTextBox 컨트롤에 RegularExpressionValidator을 사용하고 있습니다.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를 표시하지 않습니다. 지금 FreeTextbox 컨트롤에 대해 RequiredFieldValidator와 RegularExpressionValidator를 모두 사용해야합니다. –

1

이 일반 표현식 .*[^ ].*은 공백보다 많은 것을 포함하는 경우에만 문자열과 일치합니다. 나는 그것을 here으로 테스트했다.

희망이 있습니다.

+0

변경해야 함을 의미합니다. ValidationExpression = ". * [^]. *" –

+0

yes. 이것이 바로 내가 의미하는 바입니다. –

+0

감사하지만 괜찮아요, 내가 테스트했는데 –

1

이 시도 :

최초의 솔루션 : 이것처럼

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

가 :

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

두 번째 솔루션 :
대신 regularExpressionValidator 제어의 라벨을 사용할 수 있습니다 후 사용 butto에있는 다음 코드 N :

정규식 검증 식`특별히
Match s = Regex.Match(TextBox1.Text, @"^((?!\s).)*$"); 
if (!s.Success) 
{ 
    Label1.Text = "Incorrect input!"; 
} 
관련 문제