using System.ComponentModel.DataAnnotations; namespace LendWise.Web.Models; public class ApplyViewModel { [Required(ErrorMessage = "Enter your full name.")] [StringLength(100, MinimumLength = 2, ErrorMessage = "Name must be between 2 and 100 characters.")] [Display(Name = "Full name")] public string FullName { get; set; } = ""; [Required(ErrorMessage = "Enter your mobile number.")] [RegularExpression(@"^[6-9]\d{9}$", ErrorMessage = "Enter a 10-digit Indian mobile number.")] [Display(Name = "Mobile number")] public string Mobile { get; set; } = ""; [Required(ErrorMessage = "Enter your email address.")] [EmailAddress(ErrorMessage = "Enter a valid email address.")] [StringLength(150)] [Display(Name = "Email address")] public string Email { get; set; } = ""; [Required(ErrorMessage = "Enter your city.")] [StringLength(80)] [Display(Name = "City")] public string City { get; set; } = ""; [Required(ErrorMessage = "Choose one option.")] [Display(Name = "I am")] public string? ApplicantType { get; set; } [Required(ErrorMessage = "Choose a loan type.")] [Display(Name = "Loan type")] public string? ProductSlug { get; set; } [Required(ErrorMessage = "Enter the amount you need.")] [Range(10000, 1000000000, ErrorMessage = "Enter an amount between ₹10,000 and ₹100 crore.")] [Display(Name = "Amount needed (₹)")] public decimal? Amount { get; set; } [Required(ErrorMessage = "Enter your monthly income or turnover.")] [Range(0, 1000000000, ErrorMessage = "Enter a valid amount.")] [Display(Name = "Monthly income or business turnover (₹)")] public decimal? MonthlyIncome { get; set; } [Range(typeof(bool), "true", "true", ErrorMessage = "Agree to be contacted so we can continue.")] public bool Consent { get; set; } /// Honeypot field. Real visitors never see or fill it. public string? Website { get; set; } } public class ContactViewModel { [Required(ErrorMessage = "Enter your name.")] [StringLength(100, MinimumLength = 2, ErrorMessage = "Name must be between 2 and 100 characters.")] public string Name { get; set; } = ""; [Required(ErrorMessage = "Enter your email address.")] [EmailAddress(ErrorMessage = "Enter a valid email address.")] [StringLength(150)] public string Email { get; set; } = ""; [RegularExpression(@"^$|^[6-9]\d{9}$", ErrorMessage = "Enter a 10-digit Indian mobile number.")] public string? Phone { get; set; } [Required(ErrorMessage = "Choose a topic.")] public string Topic { get; set; } = "General"; [Required(ErrorMessage = "Write a short message.")] [StringLength(2000, MinimumLength = 10, ErrorMessage = "Message must be between 10 and 2000 characters.")] public string Message { get; set; } = ""; /// Honeypot field. public string? Website { get; set; } }