3

我正在努力学习MVC4,我已经来到了这个叫做验证的章节。

我开始知道DataAnnotations,他们有非常整洁的属性来做一些服务器端验证。在书中,他们只解释了关于[Required][Datatype]属性。但是在 asp.net 网站上,我看到了一个叫做ScaffoldColumnand的东西RegularExpression

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

4

2 回答 2

1

Scaffold Column 指示在添加基于该数据模型的视图时是否应该/不应该为该列搭建脚手架。因此,例如,您的模型的 id 字段非常适合您指定 ScaffoldColumn(false) 和其他外键字段等。

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

于 2013-05-07T08:39:34.437 回答
0

你可以在ScaffoldColumnAttribute Class 这里阅读

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

}

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

    [ScaffoldColumn(false)]
    public object ThumbnailPhotoFileName;


}

关于RegularExpressionAttribute Class你可以在这里阅读。

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;
}
于 2014-07-11T14:41:38.743 回答