小编goo*_*orj的帖子

使用注释和IValidatableObject进行递归验证

我试图使用注释和一些自定义代码验证嵌套对象(不是MVC senss中的模型).

我发现以下帖子很有用

使用数据注释验证手动和对象图

正如在答案中所建议的,我在容器类中创建了一个额外的例程来验证嵌套对象.这是我修改过的测试代码

public class Customer : IValidatableObject
{
    public Customer()
    {
        Details = new CustomerDetails();
    }

    [Required]
    [MaxLength(2)]
    public string Name
    {
        get;
        set;
    }

    public CustomerDetails Details
    {
        get;
        private set;
    }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        var context = new ValidationContext(this.Details, validationContext.ServiceContainer, validationContext.Items);
        var results = new List<ValidationResult>();
        Validator.TryValidateObject(this.Details, context, results);
        return results;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,即使在将validateAllProperties设置为true的情况下调用TryValidateObject时,我也无法获得所有验证错误.

        var context = new ValidationContext(cs, null, null);
        var results = new List<ValidationResult>();
        Validator.TryValidateObject(cs, context, results,true);
Run Code Online (Sandbox Code Playgroud)

如果容器中有任何错误,则只显示这些错误.仅当容器对象中没有错误时,才会显示嵌套对象中的错误.我怀疑它与Validate rouine有关,返回一个完整的列表,而且无法从容器中添加(现有)列表(?) …

c# validation asp.net-mvc

9
推荐指数
1
解决办法
7430
查看次数

如何向soapVars添加属性

我想用这样的属性创建soapVars:

<tag attr="xxx">yyy</tag>
Run Code Online (Sandbox Code Playgroud)

这是否可以使用SoapVar构造函数,但使用XSD_ANYXML和原始xml字符串?

php soap

4
推荐指数
1
解决办法
4761
查看次数

POST到控制器,如何从URL获取id

如果我将表单发布到包含ID的目标URL,例如

/mycontroller/createItemAndAddTo/5
Run Code Online (Sandbox Code Playgroud)

如何到达ActionResult子例程中的Id(=5)[HttpPost](将模型作为参数)

我想Id从POST数据/表单中删除它,并从URL中获取它,因为它已存在于那里

在这种情况下,Id是一个外键,我通常将其作为隐藏字段包含在内,但它似乎没有必要,因为它已经包含在内

asp.net-mvc asp.net-mvc-3

3
推荐指数
1
解决办法
2688
查看次数

标签 统计

asp.net-mvc ×2

asp.net-mvc-3 ×1

c# ×1

php ×1

soap ×1

validation ×1