Custom validation in dotnet Core
From Logic Wiki
Revision as of 10:04, 21 August 2018 by AliIybar (Talk | contribs) (Created page with "Category:MVC Category:Core <pre class="brush:csharp;"> using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using VDSCore.Client.TheVDS.Shar...")
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using VDSCore.Client.TheVDS.Shared;
namespace VDSCore.Client.TheVDS.ViewModels
{
public class DirectDebit : IValidatableObject
{
[Required(ErrorMessage= "The Name of Practice Account as it appears on your bank statement field is required.")]
public string AccountHolderOne { get; set; }
[Required(ErrorMessage = "The Bank/building society Account Number field is required.")]
public string AccountNumber { get; set; }
[Required(ErrorMessage = "The Branch Sort Code field is required.")]
public string SortCode { get; set; }
[Required(ErrorMessage = "The Bank/building society field is required.")]
public string BankBuildingSociety { get; set; }
[Required(ErrorMessage = "The Address field is required.")]
public string Address { get; set; }
[Required(ErrorMessage = "The Town/City field is required.")]
public string Town { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
var controlName = new List<string>();
if (!BankDetailsCheck.IsAValidAccountNumber(SortCode, AccountNumber))
{
controlName.Add("AccountNumber");
controlName.Add("SortCode");
yield return new ValidationResult("'Sort Code' and/or 'Account Number' are not valid", controlName);
}
}
}
}