ASP.Net MVC: Como suprimir a mensagem de validação discreta do lado do cliente jquery com base na condição
veja meu código primeiro.
Ver e visualizar modelopublic class SampleViewModel
{
[Display(Name = "Products")]
public List<Product> Products { set; get; }
[Required(ErrorMessage = "Select Male or Female")]
public string Gender { get; set; }
}
public class Product
{
public int ID { set; get; }
public string Name { set; get; }
}
código do controladorpublic ActionResult Index()
{
var SampleVM = new SampleViewModel();
SampleVM.Products = new List<Product>
{
new Product{ ID=1, Name="IPhone" },
new Product{ ID=2, Name="MacBook Pro" },
new Product{ ID=3, Name="iPod" }
};
return View(SampleVM);
}
Ver código@using (Html.BeginForm("Index", "TestVal", FormMethod.Post, new { name = "TestVal" }))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>DateValTest</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.Products, htmlAttributes: new { @class = "control-label col-md-2", style = "padding-top:0px;" })
<div class="col-md-10">
@Html.DropDownListFor(model => model.SelectedProductId, new SelectList(Model.Products, "ID", "Name"), "-- Select Product--")
@Html.ValidationMessageFor(model => model.SelectedProductId, "", new { @class = "text-danger" })
@for (int i = 0; i < Model.Products.Count(); i++)
{
<div>
@Html.HiddenFor(model => Model.Products[i].Name)
@Html.HiddenFor(model => Model.Products[i].ID)
</div>
}
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<b>Gender</b><br />
<label>
<span>Male</span> @Html.RadioButtonFor(model => model.Gender, "Male", new { style = "width:20px;" })
<span>Female</span>@Html.RadioButtonFor(model => model.Gender, "Female", new { style = "width:20px;" })
</label>
<label>
</label>
@Html.ValidationMessageFor(model => model.Gender, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Submit" class="btn btn-default" />
</div>
</div>
}
então agora me diga quando clico no botão enviar sem selecionar o botão de opção sexo, a mensagem de validação aparecerá, mas quero suprimi-la e quero mostrar essa mensagem de validação condicionalmente.
suponha que o menu suspenso do produto esteja mostrando 4 produtos, como product1, product2 .... product4.
Eu quero que, se o usuário selecionar o produto4, a validação do botão de opção gênero não será acionada no lado do cliente; caso contrário, o usuário selecionou qualquer gênero.
guie-me com um exemplo de código de que código jquery eu preciso para plug-in no cliente, que suprimirá a mensagem de validação de gênero no cliente e, em algum momento, não será suprimido com base na condição no momento do envio do formulário.
procurando a melhor orientação. obrigado