连接到实体数据源的标准ASP.NET控件是否提供内置验证?

时间:2012-06-27 20:31:17

标签: asp.net entity-framework

实体框架连接到我的数据库以检索列,数据类型,关系等。它还知道哪些列可以为null而不是null。

如果我将常规asp.net网格连接到实体数据源,它可以根据实体自动生成网格。它知道哪些字段应该是基于数据类型的复选框等。

由于数据类型内置于实体类中,常规的asp.net控件(如网格或窗体视图)是否也可以自动执行验证? (或至少生成必要的验证控制?)

谢谢, 凯文

2 个答案:

答案 0 :(得分:3)

是的,您可以使用 asp:ValidationSummary 控件显示验证错误,包括验证类型。在gridview上使用这种方法的一个项目:http://code.msdn.microsoft.com/ASPNET-Web-Forms-97f8ee9a,查看编辑学生。 向实体添加更多验证规则的方法是附加元数据。 如果您使用的是EF Code First,则可以通过添加元数据类直接应用规则,例如:

[MetadataType(typeof(EntityNameMetaData))]
public partial class EntityName {} // name of entity which want to add validation
public class EntityNameMetaData // this is a place, where put validation rules
{
    [StringLength(25, ErrorMessage = "First name must be 25 characters or less in length.")]
    [Required(ErrorMessage = "First name is required.")]]
     //custom or other validation rules
     public String EntityProperty

}

答案 1 :(得分:0)

这在asp.net中是不可能的,你必须定义列并创建项目模板来实现它。