Is there anyway I can override some validation rules for a particular class?
For example add some validation rules for
public class AddressValidator : BaseNopValidator<AddressModel>
From within a plugin?
/// <summary>
/// Developers can override this method in custom partial classes
/// in order to add some custom initialization code to constructors
/// </summary>
namespace Nop.Plugin.Invoice.Validators
{
/// <summary>
/// Represents configuration model validator
/// </summary>
public class ConfigurationValidator : BaseNopValidator<ConfigurationModel>
{
#region Ctor
public ConfigurationValidator(ILocalizationService localizationService)
{
//set validation rules
RuleFor(model => model.Rfc).NotEmpty().WithMessage(localizationService.GetResource("Plugins.Invoice.Fields.Rfc.Required"));
}
#endregion
}
}
namespace Nop.Plugin.Invoice.Models
{
[Validator(typeof(ConfigurationValidator))]
public class ConfigurationModel: BaseNopModel
{
[NopResourceDisplayName("Plugins.Invoice.Rfc")]
public string Rfc { get; set; }
}
}
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
{
//register validator
services.AddTransient<IValidator<CustomRegisterModel>, RegisterValidator>();
}
//register validator
services.AddTransient<IValidator<ConfigurationModel>, ConfigurationValidator>();
public partial class ConfigurationValidator : BaseNopValidator<ConfigurationModel>
{
...
}