我想知道是否有一种方法可以配置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; }
}


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

最佳答案

RequiredAttribute认为包含空格的字符串为空。您可以避免将此设置AllowEmptyString设置为true(可能也将ConvertEmptyStringToNulls设置为false),但这将消失此属性表示的大部分内容。

通常,您可以使用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; }

关于c# - EF允许空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26125070/

10-10 22:53