Как написать регулярное выражение для десятичных метаданных ifor службы wcf? - PullRequest
0 голосов
/ 20 июня 2011

Предположим, у меня есть десятичное свойство для метаданных сущности для службы wcf ria:

 public Nullable<decimal> Amount { get; set; }

Я хочу, чтобы для этого поля было что-то вроде 0,00, это означает, что пользователь должен ввести 2 цифры после десятичной точки. Если ничего нет, должно быть .00. Итак, 123.00, 12.23 - файл. Но 12 или 3345 это не правильно.

Затем я хочу поместить регулярное выражение в качестве атрибута проверки для этого свойства в классе метаданных. Как мне это сделать? Любое другое решение?

Спасибо за ответ, ребята. Вот тестирование:

 [RegularExpression("^\\d*\\.\\d{2}$", ErrorMessage = "Put the right number for amount")]
 public Nullable<decimal> Amount { get; set; }

Это не работает. допустимы все 123, 123., 123.00.

Вышеуказанное решение работает только для строки, например:

 [RegularExpression("^\\d*\\.\\d{2}$", ErrorMessage = "Put the right number for amount")]
 public string Amount { get; set; }

Как сделать так, чтобы она работала для десятичной дроби?

Ответы [ 2 ]

0 голосов
/ 20 июня 2011

Попробуйте это выражение

^\d*\.\d{2}$

^ - это якорь для начала строки

\d - это цифра

* означает ноль илибольше предыдущего выражения, здесь \d

{2} говорит ровно 2 из предыдущего выражения, здесь \d

$ - это якорь для конца строки

Если вы не используете якоря, вы можете положить все, что вы хотите, спереди или сзади, и оно будет соответствовать.

0 голосов
/ 20 июня 2011

Используйте это регулярное выражение:

\d*\.\d\d

...