Salutation 的数据注释
Data annotation for Salutation
如何为称呼添加数据注释?
称呼必须以 Dear Sir or Madam, Mr, Mrs, Dr 小写还是大写开头?
我尝试了以下但对我不起作用:
[RegularExpression(@"^(Dr|Mrs?|Ms)\. [A-Za-z] ([A - Za - z] (\s|\.|_)?)+[a-zA-Z]*$", ErrorMessage = "Greeting must begin with Mr., Mrs., Ms., or Dr")]
使用这样的东西:^(Mr|Mrs|Ms|Dr)\. [\p{L} '-]+$
。假设姓氏可以包含字母,不一定是基本拉丁语 (\p{L}
)、严格意义上的空格、撇号和连字符。我没有加下划线。将来您可能需要扩展此集合。
此正则表达式假定称呼是馈送到正则表达式的所有内容(即,只有称呼受数据注释的约束)。如果检查整个字母,请将最后的 $
替换为 \n
(换行符);如果称呼前可以有地址,则将开头的 ^
替换为 (?:^|\n)
。这些换行符确保称呼占据一个单独的字符串。在这种情况下不要使用多行选项。
是用户输入的字母,允许有多余的空格:^\s*(Mr|Mrs|Ms|Dr)\.[ ]+[\p{L} '-]+$
.
此外,标题后的句号可能会丢失,因此:^\s*(Mr|Mrs|Ms|Dr)\.? [ ]+[\p{L} '-]+$
。
您可能想要添加一个可选的结尾逗号:^\s*(Mr|Mrs|Ms|Dr)\.?[ ]+[\p{L} '-]+,?\s*$
.
可能的头衔也很多,例如 Prof.
或军衔。
如何为称呼添加数据注释?
称呼必须以 Dear Sir or Madam, Mr, Mrs, Dr 小写还是大写开头?
我尝试了以下但对我不起作用:
[RegularExpression(@"^(Dr|Mrs?|Ms)\. [A-Za-z] ([A - Za - z] (\s|\.|_)?)+[a-zA-Z]*$", ErrorMessage = "Greeting must begin with Mr., Mrs., Ms., or Dr")]
使用这样的东西:^(Mr|Mrs|Ms|Dr)\. [\p{L} '-]+$
。假设姓氏可以包含字母,不一定是基本拉丁语 (\p{L}
)、严格意义上的空格、撇号和连字符。我没有加下划线。将来您可能需要扩展此集合。
此正则表达式假定称呼是馈送到正则表达式的所有内容(即,只有称呼受数据注释的约束)。如果检查整个字母,请将最后的 $
替换为 \n
(换行符);如果称呼前可以有地址,则将开头的 ^
替换为 (?:^|\n)
。这些换行符确保称呼占据一个单独的字符串。在这种情况下不要使用多行选项。
是用户输入的字母,允许有多余的空格:^\s*(Mr|Mrs|Ms|Dr)\.[ ]+[\p{L} '-]+$
.
此外,标题后的句号可能会丢失,因此:^\s*(Mr|Mrs|Ms|Dr)\.? [ ]+[\p{L} '-]+$
。
您可能想要添加一个可选的结尾逗号:^\s*(Mr|Mrs|Ms|Dr)\.?[ ]+[\p{L} '-]+,?\s*$
.
可能的头衔也很多,例如 Prof.
或军衔。