Quantcast
Channel: Fluent Validation for .NET
Viewing all articles
Browse latest Browse all 1917

New Post: Setting child collection properties validation result based on parent

$
0
0
Hi,

I have the requirement to apply validation on partial views sharing same model.


here is my model - (used in partial view and parent view both)

public class AdditionalHoldersFormModel
{
    public AdditionalHolderPersonModel AdditionalHolderPersonModel { get; set; }
 }
public class AdditionalHolderPersonModel
{
    public PersonDetailsModel PersonDetailsModel { get; set; }    

}
public class PersonDetailsModel
{

    [Display(Name = "Prefix(Optional)")]
    public string Prefix { get; set; }

    [Display(Name = "First Name")]
    public string FirstName { get; set; }

    [Display(Name = "Middle Name(Optional)")]
    public string MiddleName { get; set; }

    [Display(Name = "Last Name")]
    public string LastName { get; set; }
}


Below is my view:

@model DO.Web.ViewModels.AdditionalHoldersFormModel
<div id="dvAdditionalOwnerPersonPartial"> <br /> @Html.Partial("Brokerage\\_AdditionalHolderPersonPartial") </div> and my partial view

@model DO.Web.ViewModels.AdditionalHoldersFormModel
@using (Ajax.BeginForm("AdditionalHolderPersonPartial", null, new AjaxOptions { HttpMethod = "Post" }, new { data_bind = "submit: savePerson" }))
{
<div class="rowSec"> @Html.LabelFor(m => m.AdditionalHolderPersonModel.PersonDetailsModel.LastName) @Html.TextBoxFor(m => m.AdditionalHolderPersonModel.PersonDetailsModel.LastName, new { data_bind = "value:LastName" }) @*<input class="input-large" data-bind='value: LastName' placeholder="Last Name"/>*@ </div> }

and controller


public ActionResult AdditionalHolders(AdditionalHoldersFormModel obj)
    {           
        obj.AdditionalHolderPersonModel = new AdditionalHolderPersonModel();
        obj.AdditionalHolderPersonModel.PersonDetailsModel = new PersonDetailsModel();   

        return View(_viewLocation, obj);
    }

    [HttpPost]
    public ActionResult AdditionalHoldersPost(AdditionalHoldersFormModel obj)
    {           
        return RedirectToAction(_actionName, _controllerName); 
    }

    //save AdditionalHolderPersonPartial
    public string AdditionalHolderPersonPartial(AdditionalHoldersFormModel model)
   {          
           var firstname = model.AdditionalHolderPersonModel.PersonDetailsModel.FirstName;
           var streetaddress1 = model.AdditionalHolderPersonModel.LegalAddressModel.StreetAddress1;
           ViewBag.SaveAdditionalPersonPartial = false;
           return firstname;         
   }

could anyone help?

Viewing all articles
Browse latest Browse all 1917

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>