相关疑难解决方法(0)

如何在ASP .NET MVC 3中验证与另一个值相关的一个字段

我有两个字段,如电话号码和手机号码.就像是..

    [Required]
    public string Phone { get; set; }

    [Required]
    public string Mobile{ get; set; }
Run Code Online (Sandbox Code Playgroud)

但是用户可以在其中任何一个中输入数据.一个是强制性的.如何处理它们,即当用户在另一个字段中输入数据时如何禁用一个字段所需的字段验证器,反之亦然.在哪种情况下我必须在javascript中处理它以及我需要为此添加什么脚本.任何人都可以帮助找到解决方案......

asp.net-mvc-3

15
推荐指数
2
解决办法
3万
查看次数

使用ASP MVC和Castle Windsor将数据库注入到验证属性中

我需要一些帮助 - 我试图在需要进行数据库调用的ASP.NET MVC Web项目中使用自定义验证属性.

我有windsor成功地为控制器工作,并正常注入IRepository接口.当我需要将存储库注入属性类时,问题就出现了.

属性类具有以下代码:

public class ValidateUniqueUrlNodeAttribute : AbstractValidationAttribute
{
    private readonly string message;
    private readonly IArticleRepository articleRepository;

    public ValidateUniqueUrlNodeAttribute(string message)
    {
        this.message = message;
    }

    public ValidateUniqueUrlNodeAttribute(string message, IArticleRepository articleRepository):this(message)
    {
        this.articleRepository = articleRepository;
    }
    public override IValidator Build()
    {
        var validator = new UniqueUrlNodeValidator(articleRepository) { ErrorMessage = message };

        ConfigureValidatorMessage(validator);

        return validator;
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是我似乎无法让Windsor拦截传递给IArticleRepository的属性的构造

我的global.asax文件中的当前代码如下:

container = new WindsorContainer();
ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(Container));
   container
     .RegisterControllers(Assembly.GetExecutingAssembly())
     .AddComponent<IArticleRepository, ArticleRepository>()
     .AddComponent<ValidateUniqueUrlNodeAttribute>();
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

c# asp.net-mvc castle-windsor

7
推荐指数
1
解决办法
7837
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-3 ×1

c# ×1

castle-windsor ×1