流利验证的正则表达式问题

use*_*405 3 c# regex asp.net-mvc fluentvalidation asp.net-mvc-4

可能非常愚蠢的问题,但是在这方面需要帮助。

我将MVC Fluent验证规则添加到模型属性中,但是由于某种原因,其中一个验证规则失败。添加了一个正则表达式以允许使用英语和西班牙语字符,并且不允许使用除-和'以外的数字或特殊字符。由于某些原因,当用户输入多个有效字符作为输入时,仍会显示错误。

当用户输入为aA时仍显示错误

我正在使用此RegE @“ ^ [a-zA-Z-'] $”) 允许用户使用英语和西班牙语字符,除-和'外,不允许使用任何数字或特殊字符。

任何帮助表示赞赏。

  RuleFor(x => x.FirstName)              
 .NotEmpty().WithLocalizedMessage(ResourceAreas.Messages.Message_PersonalDetails_1001_firstname)
 .Length(1, 
     20).WithLocalizedMessage(ResourceAreas.Messages.Message_Onboarding_100006_maxlength) 
 .Matches(@"^[a-zA-Z-']$").WithLocalizedMessage(ResourceAreas.Messages.Message_Onboarding_PersonalDetails_100007_validname);
Run Code Online (Sandbox Code Playgroud)