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; }
}