Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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# 用于检查用户名是否已存在的自定义验证批注_C#_Validation_Data Annotations - Fatal编程技术网

C# 用于检查用户名是否已存在的自定义验证批注

C# 用于检查用户名是否已存在的自定义验证批注,c#,validation,data-annotations,C#,Validation,Data Annotations,我已经研究了一些关于为模型验证创建自定义数据注释类的问题,到目前为止,我无法从任何一个问题中推断出答案,因为它们的回答都有很大的差异 我正在尝试运行一个方法,该方法返回输入该属性的文本框中的布尔值,但我不确定如何获取属性内容以运行该方法。基本上,这是一个检查,看看这个用户名是否已经存在。这是我尝试过的,但正如您所看到的,我不知道如何获取输入到字段中的字符串来运行该方法 public class Username : ValidationAttribute { protected over

我已经研究了一些关于为模型验证创建自定义数据注释类的问题,到目前为止,我无法从任何一个问题中推断出答案,因为它们的回答都有很大的差异

我正在尝试运行一个方法,该方法返回输入该属性的文本框中的布尔值,但我不确定如何获取属性内容以运行该方法。基本上,这是一个检查,看看这个用户名是否已经存在。这是我尝试过的,但正如您所看到的,我不知道如何获取输入到字段中的字符串来运行该方法

public class Username : ValidationAttribute
{
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {

        ADSI adsi = new ADSI();
        if (adsi.UserExists(//here's where the text entered should go))
        {
            return new ValidationResult(this.FormatErrorMessage(validationContext.DisplayName));
        }
        return null;
    }
}

我想出来了。值对象是用户在字段中输入的文本

public class Username : ValidationAttribute
{
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        ADSI adsi = new ADSI();
        if (adsi.UserExists(value.ToString()))
        {
            return new ValidationResult(this.FormatErrorMessage(validationContext.DisplayName));
        }
        return null;
    }
}
显然,我用于检查用户名是否存在的方法是我编写的,因此您需要参考有关如何执行此操作的文档

用法:

[Username(ErrorMessage = "Username already exists.")]
public string Username {get; set;}

我想出来了。值对象是用户在字段中输入的文本

public class Username : ValidationAttribute
{
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        ADSI adsi = new ADSI();
        if (adsi.UserExists(value.ToString()))
        {
            return new ValidationResult(this.FormatErrorMessage(validationContext.DisplayName));
        }
        return null;
    }
}
显然,我用于检查用户名是否存在的方法是我编写的,因此您需要参考有关如何执行此操作的文档

用法:

[Username(ErrorMessage = "Username already exists.")]
public string Username {get; set;}