什么是ScaffoldColumn和RegularExpression属性

时间:2013-05-07 07:46:02

标签: regex asp.net-mvc validation attributes

我正在努力学习MVC4,我来到这一章称为验证。

我开始了解DataAnnotations,他们有很好的属性来做一些服务器端验证。在书中,他们只解释了[Required][Datatype]属性。但是在asp.net网站上,我看到了一个名为ScaffoldColumnRegularExpression的内容。

有人可以解释它们是什么,即使我很少知道RegularExpression的作用。 还有其他重要的验证属性我应该知道吗?

2 个答案:

答案 0 :(得分:1)

Scaffold Column指示在添加基于该数据模型的视图时是否应该支持该列。因此,例如,您的模型的id字段是指定ScaffoldColumn(false)和其他外键字段等的理想选择。

我指定了一个正则表达式,然后如果您为该模型构建一个新视图,例如编辑客户,则字段上的正则表达式或正则表达式将强制所输入的数据必须与该格式匹配。

答案 1 :(得分:0)

您可以阅读ScaffoldColumnAttribute Class here

[MetadataType(typeof(ProductMetadata))]
public partial class Product
{

}

public class ProductMetadata
{
    [ScaffoldColumn(true)]
    public object ProductID;

    [ScaffoldColumn(false)]
    public object ThumbnailPhotoFileName;


}

关于RegularExpressionAttribute Class您可以阅读here

using System;
using System.Web.DynamicData;
using System.ComponentModel.DataAnnotations;


[MetadataType(typeof(CustomerMetaData))]
public partial class Customer
{


}

public class CustomerMetaData
{

    // Allow up to 40 uppercase and lowercase  
    // characters. Use custom error.
    [RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$", 
         ErrorMessage = "Characters are not allowed.")]
    public object FirstName;

    // Allow up to 40 uppercase and lowercase  
    // characters. Use standard error.
    [RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$")]
    public object LastName;
}