我正在与Nancy一起开发Web框架,我选择使用FluentValidation。
除了主要的[App.Core(模型和验证器) - >之外,模型和验证器在同一个Assembly中。 App.Web(引导程序,模块等)]
我尝试添加引导程序AppDomainAssemblyTypeScanner.AddAssembliesToScan(" App.Core");但没有结果。
我还能做什么?
我的模型和验证器:
using System;
using FluentValidation;
namespace App.Core.Modules.Account
{
public class AccountLoginModel : BaseModel
{
public String Username { get; set; }
public string Password { get; set; }
public bool RememberMe { get; set; }
}
public class AccountLoginValidator : AbstractValidator<AccountLoginModel>
{
public AccountLoginValidator()
{
RuleFor(x => x.Username).NotNull().NotEmpty().Length(1, 64).Matches("[A-Z]*");
RuleFor(x => x.Password).NotNull().NotEmpty().Length(8, 64).Matches("[A-Z]*");
}
}
}
我的NancyModule
[...]
Post["/login"] = x =>
{
var m = this.BindAndValidate<AccountLoginModel>();
if (!ModelValidationResult.IsValid)
{
Model.BaseModel.AddError("Login errors...");
Model.BaseModel.ReturnUrl = this.Request.Url;
Model.Users = m;
return View["Shared/Account/Login", Model];
}
};
[...]
我的引导程序
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
{
AppDomainAssemblyTypeScanner.AddAssembliesToScan("App.Core");
[...]
}
谢谢大家!