ASP.Net MVC: Unterdrücken der unauffälligen clientseitigen Validierungsnachricht von jquery basierend auf Bedingung

sehe zuerst meinen Code.

View und Modell anzeigen
public 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; }
}
controller code
public 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);
}
Code anzeigen
@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>
}

Sagen Sie mir jetzt, wenn ich auf die Schaltfläche "Senden" klicke, ohne das Optionsfeld "Geschlecht" auszuwählen, wird eine Bestätigungsmeldung angezeigt, die ich jedoch unterdrücken und diese Bestätigungsmeldung unter bestimmten Bedingungen anzeigen möchte.

Angenommen, die Dropdown-Liste zeigt 4 Produkte an, z. B. Produkt1, Produkt2 .... Produkt4.

Ich möchte, dass bei Auswahl von Produkt4 durch den Benutzer die Überprüfung der Optionsschaltfläche für das Geschlecht nicht auf Client-Seite ausgelöst wird. Andernfalls hat der Benutzer ein beliebiges Geschlecht ausgewählt.

Bitte führen Sie mich mit Beispielcode, dass welche JQuery-Code ich auf dem Client Plugin, die Geschlechtsüberprüfung Nachricht auf dem Client und einige Zeit unterdrücken wird, basierend auf der Bedingung zum Zeitpunkt der Formularübermittlung wird nicht unterdrücken.

suchen nach bester Anleitung. Vielen Dan

Antworten auf die Frage(0)

Ihre Antwort auf die Frage