我的财产需要7,30或60.
[Required]
public int FrequenciaConsulta { get; set; }
Run Code Online (Sandbox Code Playgroud)
有没有像'[Required]'那样检查值?
创建自定义验证属性.
public class RequiredNumberAttribute : ValidationAttribute, IClientModelValidator
{
private int[] allowedNumbers;
public RequiredNumberAttribute(params int[] numbers)
{
allowedNumbers = numbers;
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
int number = (int)value;
if (allowedNumbers.Contains(number))
{
return ValidationResult.Success;
}
return new ValidationResult($"Error: Number must be {string.Join(",", allowedNumbers)}");
}
Run Code Online (Sandbox Code Playgroud)
用法是:
[RequiredNumber(7,30,60)]
public int FrequenciaConsulta { get; set; }
Run Code Online (Sandbox Code Playgroud)