Как использовать RegularExpression DataAnnotation с файлом ресурсов - PullRequest
2 голосов
/ 26 марта 2010

В настоящее время я использую MVC 1.0 и .NET 3.5. Я использую DataAnnotations для проверки моей модели. Я пытаюсь добавить использовать RegularExpression для проверки почтового индекса. Я сохранил свой Regex в файле ресурсов, так как многие модели будут использовать его, когда я попробую следующее:

[RegularExpression(Resources.RegexPostcode, ErrorMessage="Postcode format invalid")]
public string Postcode { get; set; }

Я получаю следующую ошибку при сборке:

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

Есть ли способ использовать значения из файла ресурсов в качестве регулярного выражения или мне нужно будет вводить фактическую строку регулярного выражения в каждую модель, имеющую почтовый индекс?

Спасибо

Ответы [ 2 ]

5 голосов
/ 26 марта 2010

Я бы предложил создать собственный атрибут Validation. Это сохранит регулярное выражение в одном месте, а также сообщение об ошибке.

class PostcodeAttribute : RegularExpressionAttribute
{
    public PostcodeAttribute() : base("your regex")
    {
        this.ErrorMessage = "Postcode format invalid";
    }
}
0 голосов
/ 04 августа 2016

Не могу оставить комментарий к принятому ответу, так как мне не хватает представителя.

Этот принятый ответ сработал для меня, но ему потребовалась настройка для работы с ненавязчивой проверкой JavaScript. Требуется IClientValidatable битов из этого ответа: https://stackoverflow.com/a/18041534/1714585

...