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