我在MVC中遇到Required
属性的问题。我有一个默认值为“Name”的字段。当我提交表单时,MVC验证该字段。如果该字段为空,则会显示所需的消息。问题是,由于默认值,错误消息不会出现。
当字段具有默认值“名称”时,ErrorMessage
是否也可能出现。
抱歉我的英文不好:)
答案 0 :(得分:4)
我会建议两种方法来解决这个问题。
首先,您可以创建自定义验证属性,其中的一个示例可以在[此处]找到。1
这是一个粗略而准备好的例子:
public class ValidateDefaultValueAttribute : ValidationAttribute {
protected override ValidationResult IsValid (object value, ValidationContext validationContext) {
string value = value.ToString();
if (value == "Name")
return new ValidationResult("Please enter a different name.");
return ValidationResult.Success;
}
}
或者,听起来您想在输入字段中显示“名称”?如果您使用的是HTML 5,请尝试placeholder属性,例如
<input type="text" placeholder="Name">
这将在字段中显示“姓名”字样,但在用户开始在字段中输入后会被覆盖。