C# Nopcommerce覆盖寄存器验证器

C# Nopcommerce覆盖寄存器验证器,c#,validation,nopcommerce,C#,Validation,Nopcommerce,我想在我的插件的RegisterModel中为Phone添加另一个RuleFor字段 因此,我创建了一个插件并扩展了RegisterValidator以下表单: public partial class RegisterValidator : AbstractValidator<RegisterModel> { public RegisterValidator(ILocalizationService localizationService) { RuleFo

我想在我的插件的
RegisterModel
中为
Phone
添加另一个
RuleFor
字段

因此,我创建了一个插件并扩展了
RegisterValidator
以下表单:

public partial class RegisterValidator : AbstractValidator<RegisterModel>
{
   public RegisterValidator(ILocalizationService localizationService)
   {
      RuleFor(x => x.Phone)
      .Matches(@"^(0|\+98)?([ ]|,|-|[()]){0,2}9[1|2|3|4]([ ]|,|-|[()]){0,2}(?:[0-9]([ ]|,|-|[()]){0,2}){8}$")
      .WithMessage(localizationService.GetResource("Account.Fields.Phone.InvalidMobileNumber"));
   }
}
公共部分类RegisterValidator:AbstractValidator
{
公共注册验证器(ILocalizationService本地化服务)
{
规则(x=>x.Phone)
.Matches(@“^(0 |\+98)([]|,|-|[()]){0,2}9[1 | 2 | 3 | 4]([]|,|-|[()]){0,2}(?[0-9]([]|,|-|[()]){0,2}{8})
.WithMessage(localizationService.GetResource(“Account.Fields.Phone.InvalidMobileNumber”);
}
}
但这不起作用

一般来说,如何在我的插件中交换
RegisterValidator


如果可能,请通知我。

RegisterValidator是一个分部类,您不能跨项目编写分部类。分部类必须存在于同一程序集中

谢谢你的回复。但是这个问题的解决方案是什么呢。我想在CustomerController的RegisterModel中将另一个RuleFor添加到RegisterValidator或将电子邮件状态更改为可选。请帮帮我。非常感谢。@HamidN.CH:在这种情况下,您可能需要使用您的模型和验证器。