0

在 SL5 中,我有一个 DataForm,它显示来自实体模型生成的 DomainService.metadata 的数据。

我正在使用诸如Required、StringLength 等DataAnnotation.ValidationAttribues 来修饰DomainService.metadata 中的数据属性。

这些验证属性运行良好,一旦我编译并运行,验证就会出现在 DataForm 中。

但我无法让 EnumDataType 属性在 DataForm 中工作,就好像它不存在一样:

  public partial class Student {

     internal sealed class StudentMetadata {

        public enum MyEnum {
           One = 1,
           Two = 2
        }

        private StudentMetadata() {
        }

        [EnumDataType(typeof(MyEnum), ErrorMessage = "Type 1 or 2")]
        public Nullable<int> Other { get; set; }

        [Required]
        public int Age { get; set; }

例如,在 DataForm 中,字段Age不能为空,但如果我在TypeOfRoom字段中键入 4,则不会显示错误消息。

我知道我可以使用 ComboBox 或其他东西,但我正在尝试学习 EnumDataType 验证属性的用法。

4

1 回答 1

0

您需要将属性Other的类型更改为您支持的 Enum 类型(在您的情况下MyEnum)。

    [EnumDataType(typeof(MyEnum), ErrorMessage = "Type 1 or 2")]
    public MyEnum Other { get; set; }
于 2012-09-11T07:05:16.337 回答