使用数据注释检查特定值

ant*_*liu 2 c# asp.net jquery asp.net-mvc-3

我的数据模型中有以下属性:

[Required]
[DataType(DataType.Text)]
[Display(Name = "First Name")]
public string FirstName { get; set; }

[Required]
[DataType(DataType.Text)]
[Display(Name = "Last Name")]
public string LastName { get; set; }
Run Code Online (Sandbox Code Playgroud)

我的文本框当前有一个占位符,这样当他们专注于文本框时,占位符将在文本框中消失,如果他们没有输入任何内容,那么文本框val($(textbox).val())是eqaul到"名字"或"姓氏",我如何检查这一点,以便在我的验证中返回错误"请填写名字/姓氏"如果FirstNameLastName等于"名字"和"姓氏"

Kir*_*nov 6

您应该编写自己的ValidationAttribute并在属性上使用它

简单示例:

public sealed class PlaceHolderAttribute:ValidationAttribute
{
    private readonly string _placeholderValue;

    public override bool IsValid(object value)
    {
        var stringValue = value.ToString();
        if (stringValue == _placeholderValue)
        {
            ErrorMessage = string.Format("Please fill out {0}", _placeholderValue);
            return false;
        }
        return true;
    }

    public PlaceHolderAttribute(string placeholderValue)
    {
        _placeholderValue = placeholderValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

在您的财产上使用它,如下所示:

[Required]
[DataType(DataType.Text)]
[Display(Name = "First Name")]
[PlaceHolder("First Name")]
public string FirstName { get; set; }
Run Code Online (Sandbox Code Playgroud)