1


0

データ注釈モデルバインダーの意図

記事http://www.asp.net/mvc/tutorials/validation-with-the-data-annotation-validators-cs [こちら]は、http://aspnet.codeplexで利用可能なData Annotations Model Binderの使用について言及しています。 .com / Release / ProjectReleases.aspx?ReleaseId = 24471 [here]。

誰がその意図を知っていますか? DA検証を行うために、MVC 2.0で特別なモデルバインダーは必要ありません

2 Answer


4


ASP.Net MVCの最初のリリースでは、フレームワークの一部としてデータ注釈による検証をサポートしていませんでした。 リンクされたコードプレックスコードの目的は、2番目のリリースで実装されたソリューションに対する一時的なギャップとして、属性指向の検証(需要が高い)の使用を明確に許可することでした。


0


DataType

Specify the datatype of a property
DisplayName

specify the display name for a property.
DisplayFormat

specify the display format for a property like different format for Date proerty.
Required

Specify a property as required.
ReqularExpression

validate the value of a property by specified regular expression pattern.
Range

validate the value of a property with in a specified range of values.
StringLength

specify min and max length for a string property.
MaxLength

specify max length for a string property.
Bind

specify fields to include or exclude when adding parameter or form values to model properties.
ScaffoldColumn

エディターフォームから非表示にするフィールドを指定します。

using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
namespace Employee.Models
{
[Bind(Exclude = "EmpId")]
public class Employee
{
[ScaffoldColumn(false)]
public int EmpId { get; set; }
[DisplayName("Employee Name")]
[Required(ErrorMessage = "Employee Name is required")]
[StringLength(100,MinimumLength=3)]
public String EmpName { get; set; }
[Required(ErrorMessage = "Employee Address is required")]
[StringLength(300)]
public string Address { get; set; }
[Required(ErrorMessage = "Salary is required")]
[Range(3000, 10000000,ErrorMessage = "Salary must be between 3000 and 10000000")]
public int Salary{ get; set; }
[Required(ErrorMessage = "Please enter your email address")]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email address")]
[MaxLength(50)]
[RegularExpression(@"[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,4}", ErrorMessage = "Please enter correct email")]
public string Email { get; set; }
}
}