У меня есть regex
, который ограничивает поле input
целыми числами с пробелами:
[Required(ErrorMessage = "This field can not be left empty")]
[RegularExpression(@"^[\d\s]+$", ErrorMessage = "Please enter integers only with spaces")]
public string Numbers { get; set; }
Я тестировал свое приложение с одиночными пробелами, так как любой другой набранный нежелательный текст обнаруживается через мойПроверка.
Однако я только что заметил, что проверка не обнаруживает несколько пробелов, что довольно хорошо, так как я хотел бы, чтобы пользователь мог сделать это так же, как и одиночные пробелы, но у меня возникают проблемы с этой строкой кода:
List<int> ints = new List<int>();
ints = numbers.TrimEnd().Split(' ').Select(s => int.Parse(s)).OrderBy(i => i).ToList();
, которая разбивает все числа вверх, сортирует их в порядке возрастания и помещает их в List<int>
, чтобы он выглядел какхотя функция Split
учитывает только один пробел.
Я не уверен, что является лучшим решением.Это может быть случай ограничения regex
до одного пробела, если да, что это будет, или изменение приведенного выше кода для приема нескольких пробелов?