Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IsValid方法在MVC中的自定义必需验证属性中不起作用,并且我没有使用ModelState.IsValid_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# IsValid方法在MVC中的自定义必需验证属性中不起作用,并且我没有使用ModelState.IsValid

C# IsValid方法在MVC中的自定义必需验证属性中不起作用,并且我没有使用ModelState.IsValid,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我有一个这样的模特 public class Employee { [Required] [RegularExpression] public string Name { get; set; } } 当我在文本框中键入空格时,必填字段验证不会触发(尽管我保留了requiredvalidation的allowemptysting属性) 我已经编写了一个自定义验证,并计划覆盖IsValid(),如下所示: [AttributeUsage(AttributeTargets.P

我有一个这样的模特

public class Employee
{
    [Required]
    [RegularExpression]
    public string Name { get; set; }
}
当我在文本框中键入空格时,必填字段验证不会触发(尽管我保留了
required
validation的
allowemptysting
属性)

我已经编写了一个自定义验证,并计划覆盖
IsValid()
,如下所示:

[AttributeUsage(AttributeTargets.Property)]
public class CustomRequiredValidatiorAttribute : ValidationAttribute, IClientValidatable
{
    public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metaData, ControllerContext context)
    {
        if (metaData == null)
        {
            throw new ArgumentNullException(nameof(metaData));
        }

        var rule = new ModelClientValidationRule
            {
                ErrorMessage = "Error msg",
            };

        rule.ValidationType = "required";
        rule.ValidationParameters["propertynames"] = metaData.PropertyName;

        yield return rule;
    }

    public override bool IsValid(object value)
    {
        // some logic
    }
}  
在我的代码中,这个验证应该在没有页面刷新/回发的情况下启动


但是,
IsValid()
没有被调用,有人能帮我解决这个问题吗?

因为我没有将页面发布到服务器,IsValid()不会激发

因为我没有将页面发布到服务器,IsValid()不会激发

这个答案有用还是这个?这个答案有用还是这个?
public class Employee
{
    [CustomRequiredValidatiorAttribute]
    [RegularExpression]
    public string Name { get; set; }
}