Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проверка / 6 сообщений из 6, страница 1 из 1
21.02.2013, 18:46
    #38161306
2king2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка
Делаю модель и столкнулся с трудностью. Код должен быть формата 01, 02, 20, 21, т.е. {0:D2}, но не могу придумать как эту проверку сделать на уроне свойства класса, если не отвечает условию, то перед числом добавить ноль. Это возможно сделать? И как?

Код: c#
1.
2.
3.
4.
5.
6.
7.
class Book : RootEntity<StateSimple>
{
    public StateSimple State { get; set; }

    [StringLength(2, ErrorMessage = "Длина строки должна быть не больше 2 символов и формата {0:D2}")]
    public virtual string Code { get; set; }
}
...
Рейтинг: 0 / 0
21.02.2013, 19:06
    #38161328
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка
2king2,

Regex.IsMatch() ?..
...
Рейтинг: 0 / 0
21.02.2013, 19:18
    #38161342
2king2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка
Abstraction2king2,
Regex.IsMatch() ?..
Регулярные выражения для поиска. Я не знаю как в Regex.IsMatch реализовать такое:
String s = String.Format("{0:D2}", 1); // "01"
String s = String.Format("{0:D2}", 10); // "10"
...
Рейтинг: 0 / 0
21.02.2013, 19:51
    #38161379
M234
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка
проверить длину и добавить 0 впереди если длина меньше 2 (А если длина 0? Будете проверять или автоматом превращать в 0?)
сделать int.TryParse для результата (с 0 впереди) и если Integer то ОК.
...
Рейтинг: 0 / 0
21.02.2013, 21:00
    #38161430
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка
Проверка строки на точно две цифры

Regex reg = new Regex(@"$\d{2}^");
...
Рейтинг: 0 / 0
21.02.2013, 23:54
    #38161569
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка
M234,

Код: c#
1.
2.
3.
4.
5.
6.
string state = "...";
if (Regex.IsMatch(state, @"^\d{1,2}$")) {
    if (state.Length == 1) state = "0" + state;
} else {
    // Ошибка валидации
}
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проверка / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]