Asp.net 注释是如何工作的?

Asp.net 注释是如何工作的?,asp.net,asp.net-mvc-3,data-annotations,Asp.net,Asp.net Mvc 3,Data Annotations,当我在模型上使用时。在视图中,我看到一些javaScript验证代码。我还没有为此编写任何代码,但不知怎么的,它仍然存在 我想知道它是如何工作的。如果您的属性有一个标准验证属性,并且您启用了客户端验证,则视图引擎将生成用于客户端验证的标记和javascript 有些内置的DataAnnotation是开箱即用的:Compare、Range、RegularExpression、Required、StringLength 如果需要,可以创建自己的dataannotation属性,该属性将在客户端上工

当我在模型上使用时。在视图中,我看到一些javaScript验证代码。我还没有为此编写任何代码,但不知怎么的,它仍然存在


我想知道它是如何工作的。

如果您的属性有一个标准验证属性,并且您启用了客户端验证,则视图引擎将生成用于客户端验证的标记和javascript

有些内置的DataAnnotation是开箱即用的:
Compare、Range、RegularExpression、Required、StringLength

如果需要,可以创建自己的dataannotation属性,该属性将在客户端上工作。为此,应将以下内容添加到属性方法:

[Required(ErrorMessage = "This Feild is Required")]
public string EMP_ID { get; set; }
[Required(ErrorMessage = "This Feild is Required")]
public string ADDR_FIX { get; set; }
public string ADDR_TEMP { get; set; }
public string SUR_NAME { get; set; }
[Required(ErrorMessage = "This Feild is Required")]
public string EMP_CONTACT_NO { get; set; }
public string DESIG { get; set; }
public string DEPT { get; set; }
public string PASSWORD { get; set; }
public string PHONE_VARIFICATION { get; set; }
public IEnumerable GetClientValidationRules
(ModelMetadata元数据,ControllerContext上下文)
{
...
}
这将返回验证规则。基于此规则,ViewEngine将生成标记和javascript

您可以在此处详细了解这一点:

public IEnumerable<modelclientvalidationrule /> GetClientValidationRules
(ModelMetadata metadata, ControllerContext context)
{
    ...
}