23 lines
		
	
	
		
			874 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			874 B
		
	
	
	
		
			C#
		
	
	
	
	
	
using System.ComponentModel.DataAnnotations;
 | 
						|
 | 
						|
namespace GrossesMitainesAPI.Models;
 | 
						|
public class AddressModel {
 | 
						|
    [Key]
 | 
						|
    public int Id { get; set; }
 | 
						|
    [Required, Range(1, int.MaxValue)]
 | 
						|
    public int CivicNumber { get; set; }
 | 
						|
    public string? Appartment { get; set; }
 | 
						|
    [Required, MinLength(3), MaxLength(50)]
 | 
						|
    public string Street { get; set; }
 | 
						|
    [Required, MinLength(4), MaxLength(50)]
 | 
						|
    public string City { get; set; }
 | 
						|
    [Required, MaxLength(3)]
 | 
						|
    public string Province { get; set; }
 | 
						|
    [Required, MinLength(4), MaxLength(30)]
 | 
						|
    public string Country { get; set; }
 | 
						|
    // Source pour regex: https://stackoverflow.com/questions/15774555/efficient-regex-for-canadian-postal-code-function
 | 
						|
    [Required, RegularExpression(@"/^[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][ -]?\d[ABCEGHJ-NPRSTV-Z]\d$/i")]
 | 
						|
    public string PostalCode { get; set; }
 | 
						|
}
 | 
						|
 |