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;}