Validation.Validate()验证应用程序块的方法是否可以将IParameterCollectionUnity提供的每个参数视为我的自定义UserModel?
我试图使用Unity和验证应用程序块来验证方法参数.
我希望能够[RequiresValidation()]用适当的验证属性表示方法和该方法的参数.
所以,像这样:
[RequiresValidation()]
public void SaveUser(UserModel user)
{
// ...
}
public class UserModel
{
[StringLengthValidator(3, 255)]
[RegexValidator(@"^[a-zA-Z0-9]${3,255}")]
public string Name { get; set; }
[StringLengthValidator(0, 255)]
[RegexValidator(@"\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b")]
public string EMail { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我已经创建了一个自定义HandlerAttribute,它将启动对验证处理程序的调用,如图所示.
public class RequiresValidationAttribute : HandlerAttribute
{
public override ICallHandler CreateHandler(IUnityContainer container)
{
return new ValidationCallHandler();
}
}
Run Code Online (Sandbox Code Playgroud)
现在,验证处理程序将尝试验证方法的每个参数:
public class ValidationCallHandler : ICallHandler
{
public int Order { get; set; }
public …Run Code Online (Sandbox Code Playgroud) c# validation enterprise-library unity-container validation-application-bl
我希望能够将我本地安装的软件包与我的项目package.json文件进行比较,而无需针对npm在线仓库进行调用.如果有一个包基于package.json文件已过期,那么它将转到npm online repo并安装该包.
这样做的原因是我希望能够更新package.json文件以要求更新版本的软件包,将此更改提交到项目仓库,当团队中的其他开发人员获得最新版本时,他们的npm软件包将更新.如果所有内容都是最新的,或者如果访问npm repo或互联网失败导致构建失败,我不想放慢流程.
我想知道这是否已经解决了用例,还是需要解析package.json文件并将其与"npm ls"输出进行比较?