c# - 如何设置字符串属性 C# EF 的分隔词的最大长度

标签 c# wpf string entity-framework properties

这是我模型的一部分

public class Sensor
{
    public int Id { get; set; }

    [Required]
    [MaxLength(40)]
    public string Name { get; set; }
}

名称是一些最大长度为 40 个符号的文本字段。并且在此文本字段中可能只有很少的单词。

我的问题是是否可以在 Name 属性中设置单词的最大长度?

例如有:“运动检测器”。我希望这个词最多有 8 个符号。这意味着运动和检测器需要少于 8 个符号长度。用户不能写成长度为 12 个符号的“MotionDetector”。

最佳答案

一种方法是您可以使用属性中的 setter 来控制每个单词的最大长度:

set {
  string[] words = value.Split(' ')
  if (words.Any(x => x.Length > 8)){
      //error, do something
  } else { //OK, pass
      Name = value; //only update Name if the length for all words are valid
  }
}

关于c# - 如何设置字符串属性 C# EF 的分隔词的最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35715574/

相关文章:

c# - 是否可以在 Xamarin 中将 Clojure CLR 与 C# 一起使用?

c# - 有什么方法可以调用这个 getter 并始终如一地获得预期结果吗?

c# - WPF:DataGrid 在值更改时排序

c++ - 字符串的排列--error : no matching function for call to ‘std::set<char>::insert(std::string&)’

c# - 使用 LINQ 可以在不使用 foreach 的情况下突出显示 TreeNode 吗?

c# - 无法执行 URL - 有什么想法吗?

c# - WPF UIElements 中的动态 TextSize

c# - 以类似于 wpf 控件错误的方式显示警告

java - 用户输入字符串而不是整数

javascript字符串替换为另一个值