Что-то не так с 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
который соответствует пустому / непустому контенту. Другие валидаторы просто игнорируют пустой контент, так как кажется, что вы включили эту функцию здесь.