EF允许空格

时间:2014-09-30 15:53:53

标签: c# .net entity-framework

我想知道是否有办法配置Model值以接受空格作为有效条目。目前,当用户输入空格时,我收到错误,指示模型无效。

模型定义为 -

public class OrderItemCustomizationOption : BaseModel
{
    [Required()]
    [Column(Order = 2)]
    public int OrderItemId { get; set; }

    [Required()]
    [Column(Order = 3)]
    public int CustomizationOptionId { get; set; }

    [Required()]
    [Column(Order = 4)]
    [StringLength(50)]
    public string Value { get; set; }

    public virtual OrderItem OrderItem { get; set; }
    public virtual CustomizationOption CustomizationOption { get; set; }
}

我需要“值”字段以允许空格有效。

1 个答案:

答案 0 :(得分:3)

RequiredAttribute认为包含空格的字符串为空。您可以将AllowEmptyString设置为true(也可能ConvertEmptyStringToNullsfalse),但这将消除此属性所代表的大部分内容。

通常,您可以使用MinLengthAttribute来验证字符串和数组的长度(无论其内容如何):

[MinLength(1)]
[Column(Order = 4)]
[StringLength(50)]
public string Value { get; set; }

但是在这种情况下,您使用的是字符串特定的验证属性StringLength,它有一个属性可用于指定所需的最小长度。然后可以更好地重写相同的代码:

[Column(Order = 4)]
[StringLength(50, MinimumLength = 1)]
public string Value { get; set; }