Chr*_*ina 7 c# regex asp.net-mvc data-annotations
我有一个正则表达式,我正在试图找出我正在使用的.NET数据注释验证模型.目前它看起来像这样
[RegularExpression("^((?!City)[a-zA-Z '])+$", ErrorMessage = "City is required and must be properly formatted.")]
Run Code Online (Sandbox Code Playgroud)
这个正则表达式的前半部分是占城市,下半部分是确保其唯一的字母和空格.
输入文本框的默认值为City,因此只有"City"无法通过验证.我似乎无法获得该正则表达式的第一部分以使这些案例通过.
Cityville
City City
Jersey City
Arizona City
Run Code Online (Sandbox Code Playgroud)
但是这个案子没有通过:
City
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
*编辑* 这个做了诀窍:
^((?!^ City $)[a-zA-Z'])+ $
我更新了所有验证以包含此内容.以防你想看看我在做什么.这里是我正在使用的整个验证数据模型的代码.(用正确的正则表达式更新)
public class FormModel {
[Required(ErrorMessage = "First Name is a Required field.")]
[DataType(DataType.Text)]
[Display(Order = 1, Name = "FirstName")]
[RegularExpression("^((?!^First Name$)[a-zA-Z '])+$", ErrorMessage = "First name is required and must be properly formatted.")]
public string FirstName { get; set; }
[Required(ErrorMessage = "Last Name is a Required field.")]
[DataType(DataType.Text)]
[Display(Order = 2, Name = "LastName")]
[RegularExpression("^((?!^Last Name$)[a-zA-Z '])+$", ErrorMessage = "Last name is required and must be properly formatted.")]
public string LastName { get; set; }
[Required(ErrorMessage = "Address is a Required field.")]
[DataType(DataType.Text)]
[Display(Order = 3, Name = "Address")]
[RegularExpression("^((?!^Address$)[0-9A-Za-z #.,])+$", ErrorMessage = "Address is required and must be properly formatted.")]
public string Address { get; set; }
[DataType(DataType.Text)]
[Display(Order = 4, Name = "Address2")]
public string Address2 { get; set; }
[Required(ErrorMessage = "City is a Required field.")]
[DataType(DataType.Text)]
[RegularExpression("^((?!^City$)[a-zA-Z '])+$", ErrorMessage = "City is required and must be properly formatted.")]
[Display(Order = 6, Name = "City")]
public string City { get; set; }
[Required( ErrorMessage = "State is a Required field." )]
[DataType( DataType.Text )]
[Display( Order = 7, Name = "State" )]
public IEnumerable<String> State { get; set; }
[Required( ErrorMessage = "Zip is a Required field." )]
[DataType( DataType.Text )]
[RegularExpression( "\\d{5}",
ErrorMessage = "Zip Code is required and must be properly formatted.")]
[Display( Order = 8, Name = "Zip" )]
public String Zip { get; set; }
[Required( ErrorMessage = "Phone is a Required field." )]
[DataType( DataType.PhoneNumber )]
[RegularExpression( "^[01]?[- .]?\\(?[2-9]\\d{2}\\)?[- .]?\\d{3}[- .]?\\d{4}$",
ErrorMessage = "Phone is required and must be properly formatted.")]
[Display( Order = 9, Name = "Phone" )]
public string Phone { get; set; }
[Required( ErrorMessage = "Email is a Required field." )]
[DataType( DataType.EmailAddress )]
[RegularExpression( "^[A-Za-z0-9._%+-]*@[A-Za-z0-9.-]*\\.[A-Za-z0-9-]{2,}$",
ErrorMessage = "Email is required and must be properly formatted.")]
[Display( Order = 10, Name = "Email" )]
public string Email { get; set; }
Run Code Online (Sandbox Code Playgroud)
尝试一下正则表达式 -
^((?!^City$)[a-zA-Z '])+$
为了对“City”进行否定检查,我向 City 添加了开始 (^) 和结束 ($) 字符。我已经在http://regex101.com/r/bF4bZ3上对其进行了测试,如果我正确理解了要求,它似乎可以工作。
| 归档时间: |
|
| 查看次数: |
20250 次 |
| 最近记录: |