相关疑难解决方法(0)

多字段的MVC表单验证

为了验证的目的,我如何将MVC 3表单上的多个文本框视为一个文本框?

这是一个简单的电话号码字段,其中一个区域代码文本框,一个用于前缀,一个用于最后四个数字.

实际上有两个验证要求:

1)他们都是必需的.2)它们都必须包含整数.

现在,对于单个字段执行此操作很简单,但是如何使用MVC创建ASP.NET CustomValidator的等效项,以便我可以将所有三个字段作为一个整体进行验证?

c# forms validation asp.net-mvc asp.net-mvc-3

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

ASP.NET MVC实现自定义验证器使用IClientValidatable

在这里问类似的问题,但是在这个问题中我使用了另一个实现,正是这种方式下面的代码显示了我的实现:

模型:

public class Department {

    public long Id { get; set; }

    [IsDateAfter("Date2", true, ErrorMessage = "O My")]
    public DateTime Date1 { get; set; }
    public DateTime Date2 { get; set; }
    public string Name1 { get; set; }
    public string Name2 { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

自定义验证器:

public sealed class IsDateAfter : ValidationAttribute, IClientValidatable {

    private readonly string testedPropertyName;
    private readonly bool allowEqualDates;

    public IsDateAfter(string testedPropertyName, bool allowEqualDates = false)
  {
        this.testedPropertyName …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc razor unobtrusive-validation asp.net-mvc-3

11
推荐指数
1
解决办法
1万
查看次数

自定义验证属性在同一字段上多次

如何在同一字段上多次使用相同的自定义验证属性,或者只是为服务器端和客户端验证启用AllowMultiple = true?

我有以下自定义验证属性:

[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, 
        AllowMultiple = true, Inherited = true)]
public class RequiredIfAttribute : ValidationAttribute,IClientValidatable
{
    public RequiredIfAttribute(string dependentProperties, 
     string dependentValues = "",
     string requiredValue = "val")
     {
     }
}
Run Code Online (Sandbox Code Playgroud)

在dependentProperties中,我可以指定由逗号分隔的多个依赖属性,在dependentValues中,我可以指定依赖属性验证应该处理哪些值,最后在requiredValue中,我可以指定要验证的字段的期望值.

在我的模型中有两个属性LandMark,PinCode和我想使用验证如下:

public string LandMark { get; set; }
[RequiredIf("LandMark","XYZ","500500")]
[RequiredIf("LandMark", "ABC", "500505")]
public string PinCode { get; set; }
Run Code Online (Sandbox Code Playgroud)

这里的值只是例如,因为似乎我可以多次添加属性并且不会出现任何编译错误,我已经在属性中实现了TypeID,如果我从中删除客户端验证,它在服务器端运行良好.但是当我在属性上实现IClientValidatable时,它给了我一个错误:

"不引人注目的客户端验证规则中的验证类型名称必须是唯一的."

任何帮助我该如何解决?

c# jquery-validate data-annotations asp.net-mvc-3

5
推荐指数
2
解决办法
1万
查看次数