Что-то не так с RegularExpressionValidator

Я использую RegularExpressionValidator за FreeTextBox контроль в моем aspx стр.

<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 словами).

3 ответа

Это регулярное выражение .*[^ ].* соответствует строке, только если она содержит нечто большее, чем пробелы. Я проверял это здесь.

Надеюсь, я помог!

Попробуй это:

Первое решение:

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

Как это:

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

Второе решение:
Вы можете использовать метку вместо элемента управления normalExpressionValidator, а затем использовать следующий код в кнопке:

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

Я думаю, вам лучше использовать RequiredFieldValidator который соответствует пустому / непустому контенту. Другие валидаторы просто игнорируют пустой контент, так как кажется, что вы включили эту функцию здесь.

Другие вопросы по тегам