public static class JobPostControllerValidation
{
public static bool ValidateApplyForm(JobPostApplyForm form, ModelStateDictionary modelState)
public static bool ValidateJobPost(JobPostViewData jobPost, ModelStateDictionary modelState)
public class JobPostControllerValidation
public bool newValidateApplyForm(JobPostApplyForm form, ModelStateDictionary modelState)
return ValidateApplyForm(form, modelState);
}
if (! JobPostControllerValidation.ValidateApplyForm(form, this.ModelState))
return View(vd);
var jobPostControllerValidation = new JobPostControllerValidation();
if (!jobPostControllerValidation.newValidateApplyForm(form, this.ModelState))
public class JobPostController : BaseController
private readonly JobPostControllerValidation _jobPostControllerValidation;
public JobPostController(IJobSystem jobSystem)
_jobSystem = jobSystem;
_jobPostControllerValidation = new JobPostControllerValidation();
public bool ValidateApplyForm(JobPostApplyForm form, ModelStateDictionary modelState)
if (String.IsNullOrEmpty(form.Name))
modelState.AddModelError("Name", "Please supply your name.");
if (String.IsNullOrEmpty(form.EmailAddress))
modelState.AddModelError("EmailAddress", "Please supply your email address.");
var emailRegex = new Regex(@".*@.*\..{2,3}");
//really crap regex -> replace and move to global reference file!
if (!emailRegex.IsMatch(form.EmailAddress))
modelState.AddModelError("EmailAddress", "The email address supplied is not valid");
if (String.IsNullOrEmpty(form.IntroductionLetter))
modelState.AddModelError("IntroductionLetter", "Please supply your an introduction letter.");
return modelState.IsValid;
public class JobPostControllerValidation : IJobPostControllerValidation
public interface IJobPostControllerValidation
bool ValidateApplyForm(JobPostApplyForm form, ModelStateDictionary modelState);
bool ValidateJobPost(JobPostViewData jobPost, ModelStateDictionary modelState);
private readonly IJobPostControllerValidation _jobPostControllerValidation;
public JobPostController(IJobSystem jobSystem, IJobPostControllerValidation jobPostControllerValidation)
_jobPostControllerValidation = jobPostControllerValidation;