Fluent 验证的正则表达式问题

问题描述 投票:0回答:2

可能是非常愚蠢的问题,但正在寻求帮助。

我正在向模型属性添加 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);
c# regex asp.net-mvc asp.net-mvc-4 fluentvalidation
2个回答
10
投票

更新 RegE 有效 - 谢谢大家

@"^[a-zA-Z-']*$";

0
投票

.IsRuleFor(p=>p.yourProperty) .IsEnglish();

© www.soinside.com 2019 - 2024. All rights reserved.