The editor below will share with you an annotation based on the Model layer development data in MVC5. It has a good reference value and I hope it will be helpful to everyone. Let’s follow the editor and take a look.
In the Model layer development in ASP.NET MVC5, the data annotations used have three functions:
Data Mapping (map the classes in the Model layer into corresponding tables using EntityFramework)
Data verification (verify the validity of the data on the server and client)
Data display (display the corresponding data in the View layer data)
The namespaces related to data annotations are as follows:
System.ComponentModel.DataAnnotations
System.ComponentModel.DataAnnotations.Schema
System.Web.Mvc
System.Web.Security
The DataAnnotations namespace contains the main data annotations and the Schema namespace It contains some data annotations for data mapping. The Mvc namespace contains data annotations for characters, arrays, numerical lengths and attribute comparisons. The Security namespace contains the MemberShipPassword annotation feature.
Data annotations related to data mapping and validation:
##[Require d]
| Required field |
[MaxLength] | Specifies the array or string allowed in the attribute Maximum length of data
|
[MinLength] | The minimum length of array or string data allowed in the specified attribute |
[StringLength] | Specify the minimum and maximum character length |
[Range] | Specify the numerical range |
Data annotations related to data verification:
##[Remote]
Features of remote validator using jQuery validation plugin |
|
[FileExtension]
Verify file extension |
|
[Compare]
Compare the values of two properties |
|
[RegularExpression]
Use | regular expressionVerify
|
[CustomValidation]
Custom validation method |
|
[DataType]
Specify the name of the additional type to be associated with the data field |
|
[EmailAddress]
Email address (equivalent to [DataType(DataType.Email)]) |
| ##[Phone ]
Telephone number (same as above) |
| [CreditCard]
Credit card number (same as above) |
| [ Url]
Verify URL (same as above) |
| [MemberShipPassword]
Verify that the password field meets the membership provider's current password requirements |
|
Data annotations related to data mapping:
[Key] Primary key field [Column] database column Attribute mapping [NotMapped] Do not create the corresponding field [Table] Specify the database table to which the class will be mapped [ForeignKey] Represents the attribute used as a foreign key in the relationship [DatabaseGenerated] Specifies the way the database generates attribute values (EF does not track changes in attributes )
Data annotations related to data display:
Specify localized string (idiom type)
[Display]Specify local ified string (idiom attribute) |
|
[DisplayFormat]
Set the format of the data field |
|
[ReadOnly]
Specifies whether the property bound to this attribute is a read-only property or a read/write property |
|
[EditAble]
Indicates whether the data field is available Edit |
|
[HiddenInput]
Indicates whether a property value or field value should be rendered as a hidden | input element |
[ScaffoldColumn] |
Specify whether the class or data column uses scaffolding
|
[UIHint]
Specify dynamic data to display Template for data fields |
|
| Others |
[DisplayColumn]
Specify the column displayed in the referenced table as a foreign key column
[Description]
| The visual designer can display the specified description when referencing component members | (Namespace: System.ComponentModel.DescriptionAttribute)
|
1. Data annotations related to data validation inherit the ValidationAttribute class, and all have an ErrorMessage attribute used toDisplay error message.
For example: [Required(ErrorMessage="This item cannot be empty")].
2. In data mapping, Int type and DateTime type are not allowed to be NULL## by default in the database. #, if needs to be set to NULL, can use a nullable type (use Int? or DateTime?). The above data annotation based on the Model layer development in MVC5 is all the content shared by the editor. I hope it can give you a reference! ! !
Related recommendations: Instance analysis of ASP.NET’s method of using MiniProfiler to monitor MVC performance in MVC5MVC5 restricts all HTTP requests to be in POST mode
Specific code implementation of MVC5 drop-down box radio binding
|
The above is the detailed content of Developing data annotations based on the Model layer in MVC5_Practical tips. For more information, please follow other related articles on the PHP Chinese website!